命名空间
用namespace来避免命名污染
1、简单理解
#include<iostream>
namespace ll
{
int a=0;
}
int main()
{
int a=10;
std::cout << a;//输出10;
std::cout << ll::a;//输出0;
return 0;
}
2、命名空间不允许除初始化外的赋值
3、命名空间可以嵌套使用
#include<iostream>
namespace ll
{
int a=6;
namespace kk
{
int a = 5;
}
}
int main()
{
/*int a = 10;
std::cout << a << std::endl;
std::cout << ll::a;*/
//return 0;
std::cout << ll::a << " " << ll::kk::a;
return 0;
}
4、使用方式
1、空间名+::
namespace ro
{
int a = 10;
}
int main()
{
std::cout << ro::a;
return 0;
}
可以最好的防止命名污染
2、展开频繁使用的变量
namespace hh
{
int a = 10;
int b = 5;
}
using hh::a;
int main()
{
std::cout << a;
return 0;
}
3、使用using namespace直接展开
像我们常使用的using namesapce std ;使用这条语句就可以不加空间名而使用cout cin等。