namespace名字空间作用域、using
namespace名字空间作用域
namespace名字空间作用域用于解决名字相同冲突的问题。
using namespace std;//C++标准std
以下代码就明显的表示了namespace中的变量和全局变量之间的调用区别。
namespace FYW
{
int a=10;
int Sum(int a,int b)
{
return a+b;
}
}
int a=10;
int main()
{
int b = :: a; //:: 全局作用访问符,访问全局变量a
int c = FYW :: a; //加上FYW作用域名称来访问FYW中的a
}
如果出现namespace重名情况:
namespace FYW
{
int a=10;
int Sum(int a,int b)
{
return a+b;
}
}
namespace FYW
{
int a=20;//a重定义
}
结论:如果namespace重名,就会合并。
C语言中有:全局作用域、局部作用域
C++中有:全局作用域、局部作用域、名字空间作用域、类作用域
namespace加上作用域:
: : 全局作用域访问符
名字空间名称: : 名字空间作用域访问符
类: : 类作用域访问符
using声明
using namespace //using指示符
//using声明、using指示符
int main()
{
using FYW :: a;//using 声明--->只有一个符号暴露
using namespace FYW;// using指示符--->所有FYW中的符号暴露
}