一、命名空间常用形式
#include <stdio.h>
namespace A {
int ID = 1;
}
namespace {
int ID = 11;
int id = 12;
}
namespace B {
int ID = 21;
}
int main(void){
printf("ID %d \n",ID);
using namespace A;
printf("ID %d - %d - %d \n",A::ID, ::ID, id);
}
在命名空间内部定义变量的话,访问形式诸如:
命名空间::变量名
二、缺省的命名空间
#include <iostream>
int add(int a1,int a2)
{
return a1+a2;
}
namespace mwsy{
using ::add;
};
int main(int argc,char** argv)
{
int nRet = mwsy::add(1,2);
std::cout<<"nRet == "<<nRet<<std::endl;
return 0;
}
观察上面代码:外部定义函数,命名空间内部引用此函数
命名空间{
::函数名
}
上述代码是可执行的,其中真意需要看客自己体会