タイトルはそれをすべて言っています。 #pragma once
はC++ 0xのために標準化されていますか?私はそれの実装を提供していないコンパイラは、ほとんど常に同じセマンティクスと名前では分かりません。`#pragma once`をC++ 0xにしましたか?
答えて
すべて#pragma
ディレクティブは、インプリメンテーションをインプリメンテーション定義の方法で動作させます。
これはC++ 03と最新のC++ 0xドラフト(n3225.pdf)の間で変更されていません。包括的なガードは移植可能な代替品です。
私は警備員が移植可能な代替品だと知っていますが、とにかく標準化されていると思いました。 – Klaim
最新のドラフトはn3225.pdfです。 –
@Prasoon:そうです。私の防衛では、WG21ウェブページの「現在のドラフト」は最新ではありません。 http://www.open-std.org/jtc1/sc22/wg21/ –
#ifdefを使用して実装するのも簡単です。新しいバージョンの主導原理は何ですか?あなたが望むかもしれないものやキッチンシンクを実装するか、それとも自分で行うための最小限のツールを提供しますか?
あなたはポイントを見逃しています。サンダルディングの大きな部分は、標準に準拠したツールで共通のプラクティスを最小限に抑えることです。 '#pragma once'は多くのコンパイラによって提供され、有用であることが証明されています。標準化された同等のキーワードが参考になりました。 – Klaim
ガードを含めると、(唯一のグローバルな)プリプロセッサの名前空間で名前を選択する必要があります。それは痛みです。ほとんどのプロジェクトではマクロが必要なので、衝突を起こさずにプリプロセッサ識別子を選択するという問題に取り組んでいます。それにもかかわらず、それは苦痛であり、私はまだ多くの#ifdef FILENAME_Hコードが飛んでくるのを見る。 ARGHです。最も賢明なプロジェクトはPROJECTNAME_FILENAME_SOMESUFFIXを使用しています。これはOKですが、うまくいきます。 IMO #pragma onceは単なる良い解決策です。 –
- 1. Qt:CONFIG + = C++ 11、しかし-std = C++ 0x
- 2. C/C++プログラミングで%0x%xは何を意味しますか?
- 3. は、C++ 0xにcopy_ifを追加していますか?
- 4. なぜC++ 0x標準委員会はboost :: shared_mutexを拒否しましたか?
- 5. Xcodeの#pragma markに似たVisual Studio/C#
- 6. #pragma comment(lib、...)を無視しますか?
- 7. PHP curl_multi_exec once once
- 8. プロダクションでGCCのC++ 0xモードを使用していますか?
- 9. #pragma GCCを使用したCコードの最適化
- 10. #pragmaは何のために使用されていますか?
- 11. テンプレートtypedef C++ 0x
- 12. C++ 0xのemplace_back
- 13. (C++ 0xの)
- 14. C++の新しいユニコード文字0x
- 15. C3767エラーを削除しない#pragma make_public(Type)を追加しました
- 16. #pragmaは一度インクルードガードを追加しますか?
- 17. C++ 0xのdecltypeは
- 18. ブースト-std = C++ 0xの
- 19. ポインタのエイリアシング - C++ 0x
- 20. G ++はC++ 0xの範囲ベースのループをコンパイルしません
- 21. C++/CLIで#pragma managed(push、on)と#pragma managed(push、off)?
- 22. C++ 0xタプルをマージする
- 23. C++ 0xスレッディングライブラリを使用して終了時にクラッシュする
- 24. これは正しいC++ 0xコードですか?
- 25. ssdt post deployment script once once実行する
- 26. C++ 0xは、UTF-8バイトシーケンスとのstd :: wstring変換をサポートしていますか?
- 27. C++ 0xは匿名の内部クラスをサポートしていますか?
- 28. autodie-pragmaはエンコーディングに影響しますか?
- 29. 継承するコンストラクタはC++のテンプレートで動作しますか0xですか?
- 30. C++ 0x std :: shared_ptr対boost :: shared_ptr
[gotcha in '#pragma once'](http://stackoverflow.com/questions/787533/is-pragma-once-a-safe-include-guard/1946730#1946730) – Motti
「ほぼ"?あなたはそれを同じように扱わない別のコンパイラで使っても問題ありませんか?それとも他の名前を知っていますか? (どちらが「ほとんど」が当てはまるのか、それともどちらになるのかはっきりしない) –