C++定義ネーミングスペース、役割ドメイン
C++役割ドメイン:1、ファイル2、関数内の3種類、構造体などの複合文ネーミングスペース:役割ドメインに名前を付ける
ネーミングスペース分類:システムネーミングスペース:stdカスタム意味のネーミングスペース:
まずtestを書きますcpp .
同じパスでmainをもう一つ書きます.cpp実行時にエラーが発生します.エラー:extern int aがあるため、aを繰り返し定義します.宣言変数は外部から来る.
同じ経路でnamespaceを書きますcpp、直接実行するとcoutとendlの役割ドメインが宣言されていないと誤認します.
1ネーミングスペースを使用する:1、役割ドメインを介してスペース名::スペースメンバー2、ネーミングスペースを宣言する:using namespaceネーミングスペース;
std::cout<を加えると
USing namespace stdを追加すると優先的にstdで検索します
2定義空間:namespaceネーミング空間{1関数2構造体3定義クラス4、定義変数、オブジェクト5、ネストネーミング空間}
以下に、2つのネーミング空間chhとlfを定義し、まず、局所変数優先が選択されるため、a=300が印刷される.int a=300を注釈を外すと、「a」はこの役割ドメインで宣言されていないと間違って報告されます.
aに役割ドメインを追加すると、エラーが報告されず、chh空間の中のaが印刷され、100が印刷される.
したがって、chhまたはlfを使用するネーミングスペースを直接以下に宣言することができ、aに役割ドメインを追加する必要はありません.
ネーミングスペースはネストして使用することもでき、groupのbが印刷されます.
groupのoneのネーミングスペースも引用できますが、一般的には少ないです.
ネーミングスペース分類:システムネーミングスペース:stdカスタム意味のネーミングスペース:
まずtestを書きますcpp .
#include
using namespace std;
int a =200;
void fun()
{
cout<
同じパスでmainをもう一つ書きます.cpp実行時にエラーが発生します.エラー:extern int aがあるため、aを繰り返し定義します.宣言変数は外部から来る.
#include
using namespace std;
//
extern int a;
int a=100;
int main()
{
int a=300;
cout<
同じ経路でnamespaceを書きますcpp、直接実行するとcoutとendlの役割ドメインが宣言されていないと誤認します.
#include
int main()
{
cout<
1ネーミングスペースを使用する:1、役割ドメインを介してスペース名::スペースメンバー2、ネーミングスペースを宣言する:using namespaceネーミングスペース;
std::cout<を加えると
#include
int main()
{
std::cout<
USing namespace stdを追加すると優先的にstdで検索します
#include
using namespace std;
int main()
{
cout<
2定義空間:namespaceネーミング空間{1関数2構造体3定義クラス4、定義変数、オブジェクト5、ネストネーミング空間}
以下に、2つのネーミング空間chhとlfを定義し、まず、局所変数優先が選択されるため、a=300が印刷される.int a=300を注釈を外すと、「a」はこの役割ドメインで宣言されていないと間違って報告されます.
#include
using namespace std;
namespace chh
{
int a=100;
}
namespace lf
{
int a=200;
}
int main()
{
//int a=300;
cout<
aに役割ドメインを追加すると、エラーが報告されず、chh空間の中のaが印刷され、100が印刷される.
#include
using namespace std;
namespace chh
{
int a=100;
}
namespace lf
{
int a=200;
}
int main()
{
//int a=300;
cout<<:a/>
したがって、chhまたはlfを使用するネーミングスペースを直接以下に宣言することができ、aに役割ドメインを追加する必要はありません.
#include
using namespace std;
namespace chh
{
int a=100;
}
namespace lf
{
int a=200;
}
using namespace chh;
int main()
{
//int a=300;
cout<
ネーミングスペースはネストして使用することもでき、groupのbが印刷されます.
#include
using namespace std;
namespace group
{
namespace one
{
int b=3;
}
namespace two
{
int b=2;
}
int b=1;
}
int main()
{
cout<<:b/>
groupのoneのネーミングスペースも引用できますが、一般的には少ないです.
#include
using namespace std;
namespace group
{
namespace one
{
int b=3;
}
namespace two
{
int b=2;
}
int b=1;
}
int main()
{
cout<<:one::b/>