C++では、関数実装ファイルでusing namespace std;
宣言を使用できますか?関数実装で名前空間を使用する
答えて
「機能実装ファイル」とは、.hファイルまたは.cppファイルを意味しますか? (私は通常.cppファイルを "implementation"ファイルと呼びますが、.hファイルは "interface"ファイルです)。
.cppファイルを意味するのなら、もちろんです。それは普通あなたがusing namespace std
と見る場所です。これは、この.cppファイル内のすべてのコードが修飾なしでstd
にアクセスできることを意味します。
.hファイルを意味する場合、はになりますが、そうしないでください。 .hファイルに含めると、.hファイルを含む.cppファイルに自動的に適用されます。このファイルは大量のファイルである可能性があります。あなたは一般的に、インポートする名前空間を他のモジュールに伝えたくありません。共通の.hファイルではなく、すべての.cppファイルに格納することをお勧めします。
"function implementation files"とは、.C/.cppなどのファイルを意味する場合は避けてください。代わりにusing std::cout;
とusing std::endl;
にこれらの2つを注入するだけで<iostream>
のstd::cout
などが必要な場合は、cout
とendl
と書くことができます。
私はあなたがこのような何かを意味すると仮定しています:その場合はそうそして、...
// Foo.h
void SayHello();
を
// Foo.cpp
#include "Foo.h"
using namespace std;
void SayHello()
{
cout << "Hello, world!" << endl;
}
を。しかし、大きなプロジェクトでusing namespace std;
を使用することは悪い習慣と考えられます。
私は、実装ファイルでさえも "名前空間の使用"を避けようとしますが、後で名前の競合が発生する単一の翻訳単位を使用したいとします。 – GameDeveloper
using namespace std;
を次のように関数本体に入れることもできます。これにより、using namespace
ステートメントの範囲が制限されます。
void f() {
using namespace std;
cout << "Foo" << endl;
//..
};
void g() {
cout << "Bar" << endl; //ERROR: cout and endl are not declared in this scope.
};
あなたはヘッダファイルに書き込まれている機能(あなたはいけないそれ自体の本体に名前空間の要素の多くを使用したい場合、これは便利ですが、時にはそれはOKです(例えば、テンプレート)など)が含まれます。
- 1. 他の名前空間内の名前空間からの関数の使用
- 2. 名前空間に名前の変数を使用する
- 3. VB.netで使用する名前空間。
- 4. xmltable Oracle関数を複数のデフォルト名前空間で使用する
- 5. 名前空間名に変数tclを使用する
- 6. 複数の名前空間を実装するメソッドをリファクタリングする
- 7. 名前空間とバリアント形式の関数定義でJSDocを使用する
- 8. 同じ関数内で別の名前空間を使用する
- 9. 複数のStruts2名前空間をタイルで使用する
- 10. 名前空間で変数を使用する方法は?
- 11. 関数ルックアップと名前空間
- 12. 名前空間の関数テンプレートのオーバーロード
- 13. opencv名前空間とc、C++関数
- 14. XSLT関数と名前空間
- 15. Shoud実装ファイルに名前のない名前空間を使用しますか?
- 16. 複数のクラスの関数を名前空間の下に含めることで関数を使用する
- 17. 名前空間でのRecursiveIteratorIteratorの使用
- 18. javascriptグローバル名前空間で関数をスタブ/モックする方法
- 19. 異なる名前空間で関数を呼び出すphp
- 20. PHPプライベート関数内の別のクラスの名前空間を使用する
- 21. html要素に複数の名前空間を使用する
- 22. 名前空間の別の名前空間からのjavascriptアクセス関数ajax関数のコールバック
- 23. PHP - PSR-4オートローディングコンポーザーの名前空間付きファイルの名前空間を使用
- 24. OOPの実装:PHP関数名に変数を使用する
- 25. イニシャライザリストの名前空間を使用
- 26. 複数のファイル間で名前空間を使用する方法
- 27. PHPの名前空間と実装のキーワード
- 28. 変数の名前空間
- 29. 名前空間のクラス、関数、使い方
- 30. 関数名前空間の関数を値で定義できますか?
私は本当にあなたの質問を理解していないようです...あなたはいくつかの情報を与えることができますか? – Stormenet