标签:
c++ anonymous namespace -- 匿名空间
- #include <stdio.h>
- namespace A {
- int ID = 1;
- }
- namespace {
- int ID = 11;
- }
- namespace B {
- int ID = 21;
- }
- int main(void){
- printf("ID %d \n",ID);
- }
输出
- ID 11
这里用到是C的函数,减少std空间的干扰。这里输出的是匿名空间的内容。那么就类似于如下用法
- namespace __UNIQUE_NAME_ {
- int ID;
- }
- using namespace __UNIQUE_NAME_;
如果修改代码如下
- #include <stdio.h>
- namespace A {
- int ID = 1;
- }
- namespace {
- int ID = 11;
- }
- namespace B {
- int ID = 21;
- }
- namespace {
- int ID = 41;
- }
- int main(void){
- printf("ID %d \n",ID);
- }
编译报错,如下
- t_anonymity_space.cpp:14: error: redefinition of ‘int ::ID’
- t_anonymity_space.cpp:7: error: ‘int ::ID’ previously defined here
c++ anonymous namespace -- 匿名空间
标签:
原文地址:http://www.cnblogs.com/timdes/p/4781108.html