《C++ 名字空间》由会员分享,可在线阅读,更多相关《C++ 名字空间(7页珍藏版)》请在金锄头文库上搜索。
1、C+名字空间说明字号:大中小发布日期:2009-11-30发布者:admin浏览次数:130次C+名字空间说明1名字空间介绍在面对数百种第三方库,这还未提及C+可以接受的程序设计库,程序员有时会发现提供确信不和其他符号冲突的变量名和函数名是一个挑战,标准C+解决这类日益增多的问题的办法就是使用名字空间,它是标识符使用范围的一个附加层,能够使一个程序员创造有意义的符号名称而不必顾及所有其他人的工作。简而言之,名字空间既为一个名字范围区域,名字空间中所有由程序员创建的标识符可以确保是唯一的假设程序员在名字空间中没有声明两个重名的标识符;并假设以前以定义的同名名字空间已不存在。可以像这个定义一个简单
2、的名字空间:nam espaceMyNam esintiVal1=100;intial2200;这里有两个整型变量iVal1和iVal2被定义为MyNam es名字空间的组成部分。当然,这仅仅是一个介绍性的例子。在本章的后续部分,可以更详细的考察名字空间的定义。2名字空间的成员名字空间的一个例子就是std,它是C+定义其库标识符的名字空间。为使用cout流对象,你必需告诉编译器cout已存在于std名字空间中。为达到上述目的可以指定名字空间的名称和作用域限定操作符(:)作为cout标识符的前缀。如清单1-1程序所示:/清单1-1/文件名:Test.cpp/#includeintm ain()s
3、td:coutusingnam espacestd;intm ain()coutnam espaceMyNam esintiVal1=100;intial2200;nam espaceMyOtherNam esintiVal1=300;intial2400;usingnam espacestd;usingnam espaceNyam es;usingnam espaceyOtherNam es;intm ain()coutnam espaceMyNam esintiVal1=100;intial2200;nam espaceMyOtherNam esintiVal1=300;intial240
4、0;intm ain()std:coutnam espaceNyam esconstintMAX_LENGTH=100;intiVali=100;longial2200L;charcr=Z;intAdd(inti,ntj)returni+j;longSub(longi,longj)returni-j;intm ain()std:coutnam espaceMyOutNam esintiVal1=100;intial2200;nam espaceMyInnerNam esintiVal3=300;intial4400;intm ain()std:coutnam espaceMyNam esintiVal1=100;intial2200;nam espaceMyAlias=MyNam es;intm ain()std:cout#includeTest7.hnam espaceMyNam esTestClas:TestClas(intiVal)m _iVal=iVal;voidTestClas:PrintVal()std:cout#includeTest7.hintm ain()MyNam es:TestClasrTest(800);rTest.PrintVal();return0;