匿名命名空间:当无命名空间的标识符和有命名空间的标识符重名时,
系统会自动将无命名空间的标识符放入匿名命名空间,匿名命名空间没有名字。
自定义名字空间:
(1)名字空间::name
匿名命名空间:
(2)全局变量 和命名空间里面的成员变量发生冲突时,全局变量放入匿名空间 ::name
#include <iostream>
//添加头文件:c
#include <string.h>
//I输入 O输出 stream流
//使用命名空间std:
//using namespace std;
//声明
using std::cout;
using std::cin;
using std::endl;
//自定义命名空间
namespace teacher{
//定义成员1
char name[20] = "t name";
//定义成员2
int age;
//定义成员3
void showName(){
//输出内容:成员1
cout << "成员name的内容是:" << name << endl;
}
};
//自定义命名空间
namespace worker{
//定义成员1
char name[20] = "w name";
//定义成员2
int age;
//定义成员3
void showName(){
//输出内容:成员1
cout << "成员name的内容是:" << name << endl;
}
}
//定义全局变量
char name[21] = {"rcm"};
//入口
int main(){
char name[21] = {"rcm1"};
//入口调用成员
teacher::showName();
worker::showName();
cout << "全局变量内容:" << name << endl;
cout << "全局变量内容-v1:" << ::name << endl;
return 0;
}
//源代码:test.cpp
//c++源代码扩展名: xxx.cpp
//编译c++源代码操作: g++ xxx.cpp -o xxx
//c语言编译c代码: gcc xxx.c -o xxx
//c++编译产物是xxx,执行xxx产物: ./xxx
显示:
成员name的内容是:t name
成员name的内容是:w name
全局变量内容:rcm1
全局变量内容-v1:rcm
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。