作者:百变精灵6810 | 来源:互联网 | 2024-09-27 15:46
1.namespace:c++里面的所有标识符都被定义到名为std的namespace中,命名空间就是标识符的各种可见范围,控制其作用域。2.std为c++标准命名空间,c
1.namespace:c++里面的所有标识符都被定义到名为std的namespace中,命名空间就是标识符的各种可见范围,控制其作用域。
2.std为c++标准命名空间,c++标准库里的标识符都定义在std中,如iostream,vector,
3.using namespace std;表示要使用c++标准库里面的标识符
4.为了解决大程序标识符的冲突问题;
5.使用整个命名空间:using namespace name;
使用命名空间中的变量:using name::variable
使用默认命名空间的变量: ::variable
默认情况下可以直接使用默认命名空间中的所有标识符
6.如果直接使用命名空间的标识符而不使用命名空间会报错,如下图
7.下面两种情况就可以,@通过命名空间加双冒号引用变量@2在前面表示使用命名空间


8.命名空间的定义和使用,见下面代码

1 #include 2 3 namespace Spaceone 4 { 5 int a = 10; 6 } 7 8 namespace Spacetwo 9 {10 int a = 50;11 namespace Spacethree12 {13 struct date14 {15 int year;16 int month;17 int day;18 };19 }20 }21 22 23 24 void main()25 {26 using namespace Spaceone;27 28 using Spacetwo::Spacethree::date;29 30 std::cout << "a =" << a<<"\n";31 std::cout << "spacetwo a =" << Spacetwo::a<<"\n";32 date d;33 d.year = 2017;34 d.month = 6;35 d.day = 2;36 std::cout << "今天是" << d.year << "年" << d.month << "月" << d.day << "日";37 38 system("pause");39 }

9.运行结果
