C++命名空间的示例

发布时间:2026/6/26 2:00:19

C++命名空间的示例 文章目录1、命名空间的定义和使用1.1定义示例1.2使用示例2、命名空间只能在全局范围内定义3、命名空间可以嵌套定义4、命名空间设置别名5、命名空间的声明和实现分开写5.1声明5.2实现5.3调用1、命名空间的定义和使用为了避免命名冲突需要使用命名空间。1.1定义示例namespace后面跟名称再跟花括号。#includeiostreamnamespaceA{inta10;//可以定义变量、函数等voidprint(){std::coutA namespace\n;}}namespaceB{inta100;voidprint(){std::coutB namespace\n;}}std是C标准命名空间cout、cin等标准库中的类在使用时都要加上std::。using namespace std;是一下子引入std后面就可以省略std::。1.2使用示例通过::访问命名空间内的变量、函数intmain(){std::coutA::astd::endl;std::coutB::astd::endl;A::print();B::print();std::coutHello World!\n;}2、命名空间只能在全局范围内定义如果在局部定义例如定义在一个函数内则会报错3、命名空间可以嵌套定义A里面有个子命名空间B使用B时要写A::B。#includeiostreamnamespaceA{inta10;voidprint(){std::coutA namespace\n;}namespaceB{inta100;voidprint(){std::coutB namespace\n;}}}intmain(){std::coutA::astd::endl;std::coutA::B::astd::endl;A::print();A::B::print();std::coutHello World!\n;}4、命名空间设置别名#includeiostreamnamespaceAAA{inta10;}intmain(){namespaceAAAA;std::coutA::astd::endl;std::coutHello World!\n;}5、命名空间的声明和实现分开写5.1声明A.h文件#pragmaoncenamespaceA{externinta;//声明变量a比起函数需要额外用extern修饰voidprint();}5.2实现A.cpp文件#includeiostream#includeA.h//不可缺intA::a100;voidA::print(){std::coutA namespace\n;}5.3调用#includeiostream#includeA.hintmain(){std::coutA::astd::endl;//100A::print();std::coutHello World!\n;}

相关新闻