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 <iostream> 2 3 namespace Spaceone 4 { 5 int a = 10; 6 } 7 8 namespace Spacetwo 9 { 10 int a = 50; 11 namespace Spacethree 12 { 13 struct date 14 { 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<<" "; 31 std::cout << "spacetwo a =" << Spacetwo::a<<" "; 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.运行结果