LinuxオペレーティングシステムのC++コード(std :: mapの代わりにcout、std :: map <>の代わりに<>など)でstd ::なしのステートメントを使用したいと考えています。それを実行するためにはどのヘッダが必要ですか?プレフィックスstd ::をLinuxのC++コードに残すには、どのヘッダを含めるべきですか?
答えて
コメンターが指摘したように:何はありませんこれを行うにはが含まれ、あなただけがをusing namespace
statement
#include <iostream> // cout
#include <map> // map
using namespace std; // bring this entire namespace into scope
を書き、その後通常どおりにファイルをインクルードする必要があり、かつ、あなたは注意する必要があり、コメント者は、特にヘッダファイルにthis is a terrible ideaを指摘しています。あなたが書く必要がある余分な少数のキャラクターのために、あなたは後で何時間もトラブルを救うことができます。あなたが書き込みstd::
に対して真になら、これはOSに依存しない
{
// lots of console printing:
using std::cout;
cout << "";
...
}
// Now you'd need to write std::cout again
にあなたがこれを行う範囲を制限することを検討して(Linux用のソリューションは、他のオペレーティングシステムでも同じです)
正確に言うと、ヘッダーファイル内のグローバルスコープまたは名前空間のスコープではひどい考えです。ヘッダファイル内のインライン関数の定義の中で受け入れられる(IMO)ことができます。 –
それは本当にありません一部のヘッダーを含めて using namespace statementを使用して明示的な名前空間を省略することができます。
あなたは省略したい場合は、通常の#includeの後
using namespace std;
を、しかし:(本当に:本当に良い習慣ではないかもしれないグローバル名前空間、にすべてのstd ::名前空間の項目をもたらす)は、使用することができますstd stuffを参照するコードの前に
* "これは本当に良い習慣ではないかもしれない" *はかなり控えめです。 –
デフォルトの名前空間に持ち込みたいクラスがある場合は、using
でエイリアスできます。たとえば:
using std::cout;
あなたはusing namespace
で全体の名前空間をインポートすることはできますが、最初に読んで理解「Why is using namespace std
considered bad practice?」したいと思うでしょう。
- 1. std :: streamoffとstd :: streamsizeを使用するためにどのヘッダを含めるべきですか?
- 2. 別のヘッダに含まれるファイルを含めるべきですか?
- 3. 私はLinuxでC/C++ /アセンブリを学習するためにどのLinuxディストリビューションを使うべきですか
- 4. 私のウェブサイトにプレフィックスフリーのプラグインを含めるべきですか
- 5. CコンパイルのヘッダをGradleに含めるには?
- 6. setup.pyはC拡張子を含めるにはnumpyのヘッダ
- 7. CヘッダとCUDAコードでCコードをコンパイルするには?
- 8. 私は製品を出荷する際にどのようなPerlコードを含めるべきですか?
- 9. Qt C++:すべてのライブラリファイルをプロジェクトフォルダに含めます
- 10. 私はテスト資産をどこに残すべきですか?
- 11. C++ - std :: listヘッダの_List_node_baseのメンバ関数の実装はどこですか
- 12. `include do ... end`ブロックには何を含めるべきですか?
- 13. JACKSONフィールドのラッパーをどのように含めるべきですか?
- 14. インデックスに「列単位」のオーダーを含めるべきですか?
- 15. プロジェクトのソースファイルをnpmディストリビューションに含めるべきですか?
- 16. JPEG_SUPPORTヘッダをdlib cppファイルに含めることはできません
- 17. データベースのすべてのテーブルをE-R図に含めるべきですか?
- 18. SQFのサブフォルダのファイルにヘッダを含めるには?
- 19. このコードは実際に何をするのですか、htaccessファイルにそのコードを含めるべき理由は何ですか?
- 20. 電話番号にプレフィックスとしてstdコードを設定する方法は?
- 21. コンパイル時にすべての.cソースファイルに#defineを含める
- 22. C++標準ライブラリのヘッダはどこにありますか
- 23. MongoDB:名前フィールドにソートを含めるには、このコードをどのように再フォーマットできますか?
- 24. このjqueryコードをWordPressにどのように含めるのですか?
- 25. 私はPHPコードカバレッジで@coversにプライベートメソッドを含めるべきです
- 26. HTMLコードをビューに含めるにはどうすればいいですか?
- 27. Gjsコードにパスを含めるにはどうすればいいですか?
- 28. rubyコードをcontent_tagに含めるにはどうすればいいですか
- 29. C++ 4.4.6にhash_mapを含めるには?
- 30. Linuxはどのような `malloc`を使うべきかを決めますか?
'using namespace std;'とにかく、http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice – Danh
いいえ、ヘッダーではありません。いいえ、OSに依存しません。 –
同じヘッダーを使用しますが、コードの先頭に 'using namespace std;'と書いてください。 [**しかし、これは悪いアイデアです**](http://stackoverflow.com/q/1452721/1171191)。それをしないでください。 – BoBTFish