命名空间的概念,命名空间的概念
【 tulaoshi.com - C语言心得技巧 】
命名空间的概念
作者:王 军
#include <iostream>#include <string>using namespace std;
namespace myown1{string user_name = "myown1";}namespace myown2{string user_name = "myown2";}int main(){cout<< "n"<< "Hello, " << myown1::user_name//用命名空间限制符myown1访问变量user_name<< "... and goodbye!n";cout<< "n"<< "Hello, " << myown2::user_name //用命名空间限制符myown2访问变量user_name<< "... and goodbye!n";return 0;}当然,我们也可以使用程序开头的预编译指示来使用命名空间中的名字。使用预编译指示的好处在于在程序中不必显式地使用命名空间限制符来访问变量。以上主程序可修改为:
int main(){using namespace myown1;cout<< "n"<< "Hello, " << user_name<< "... and goodbye!n";//using namespace myown2;cout<< "n"<< "Hello, " << myown2::user_name //用命名空间限制符myown2访问变量user_name<< "... and goodbye!n";return 0;}但第二个变量必需用命名空间限制符来访问,因为此时myown1空间中的变量已经可见,如果不加限制,编译器就会无法识别是那一个命名空间中的变量。这一点一定要注意。 以上只是初学者不清楚的一个概念,在以后的文章中还将继续讨论其它的一些概念。
来源:http://www.tulaoshi.com/n/20160129/1485503.html