对于一个存在着标准输入输出的C++控制台程序,一般会在#include <iostream>的下一行发现一句话,using namespace std。
这句话其实就表示了所有的标准库函数都在标准命名空间std中进行了定义。其作用就在于避免发生重命名的问题。
#include <iostream> using namespace std; namespace ZhangSan { int a=10; //张三把10赋值给了变量a } namespace LiSi { int a=5; //李四把10赋值给了变量a } void main() { int a=1; cout<<"张三定义的a="<<ZhangSan::a<<endl; cout<<"李四定义的a="<<LiSi::a<<endl; cout<<"主函数定义的a="<<a<<endl; }
上例中的“ZhangSan::a”和“LiSi::a”分别表示了调用张三命名空间中的a变量和李四命名空间中的a变量。这样的好处显而易见,那就是虽然张三和李四这两个程序员都定义了一个变量a,但是并不会出现重名的危险。
2. 关于using namespace *
std::cout |
#include <iostream> using namespace std; namespace ZhangSan { int a=10; //张三把10赋值给了变量a } namespace LiSi { int a=5; //李四把10赋值给了变量a } void main() { int a=1; using namespace ZhangSan; using namespace LiSi; cout<<a<<endl; }
#include <iostream> using namespace std; namespace ZhangSan { int a=10; //张三把10赋值给了变量a } namespace LiSi { int a=5; //李四把10赋值给了变量a } void main() { using namespace ZhangSan; using namespace LiSi; cout<<a<<endl; }
八月 | ||||||
---|---|---|---|---|---|---|
日 | 一 | 二 | 三 | 四 | 五 | 六 |
28 | 29 | 30 | 31 | 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |