笔记 - namespace
来源:互联网 发布:录音整理软件 编辑:程序博客网 时间:2024/05/16 19:10
#include<iostream>using namespace std;namespace ns1 { void test() { cout<<"ns1::test()"<<endl; }}namespace ns2 { void test() { cout<<"ns2::test();"<<endl; }}int main(){ ns1::test(); ns2::test(); return 0;}
上面是一个namespace的示例。把同名的函数放在不同的命名空间内。
命名空间不一定要一次写完,可以叠加。如下:
#include<iostream>using namespace std;namespace ns1 { void test() { cout<<"ns1::test()"<<endl; }}/*前面已经定义了 namespace ns1,所以这里会打开namespace ns1继续添加声明 */namespace ns1 { void add() { cout<<"ns1::add()"<<endl; }}int main(){ ns1::test(); ns1::add(); return 0;}
可以这样写:
#include<iostream>using namespace std;//namespace的这部分(第一部分)定义库接口namespace ns1 { int temp; void test(); int max( int a, int b);}//namespace这部分(第二部分)定义了库实现namespace ns1 { void test() { cout<<"test()"<<endl; } int max( int a, int b) { return (a > b) ? a : b; }}int main(){ cout<<ns1::max(1,2); return 0;}
这样我们可以把第一部分放到一个头文件(.h)里面。第二部分放到源文件(.cpp)里面。
namespace也可以镶嵌:
#include<iostream>using namespace std;//namespace还能镶嵌namespace ns1 { //第一个镶嵌域,定义库的matrix部分 namespace matrixLib { int max( int a, int b); } //第二个镶嵌域,定义库的array部分 namespace arrayLib { int arraySize(); }}int main(){ //调用方式 ns1::matrixLib::max(); ns1::arrayLib::arraySize(); return 0;}
/* 未完待续 */
- 笔记 - namespace
- C++ namespace笔记
- c++ namespace 笔记
- Cpp的namespace-笔记
- namespace学习笔记
- namespace笔记----C++
- Struts2 学习笔记02 Namespace
- [ 笔记 ] PHP 命名空间(namespace)
- HBase学习笔记 --- namespace操作
- NAMESPACE
- namespace
- namespace
- namespace
- namespace
- namespace
- namespace
- namespace
- Namespace
- python str与bytes之间的转换
- C++pirmer 学习笔记之函数定义
- 定点格式的转换
- Java编程思想 经典评注分享
- 友善之臂Mini2440开发板的存储系统及I/O空间总结(转)
- 笔记 - namespace
- win7 64位安装vs2010不成功的解决办法
- 线程本地化存储(Thread Local Storage)示例2则
- 可视化编辑器编辑前后排版不一致的问题
- My97DatePicker日历控件在iframe提示没有权限的问题
- POJ 1218 THE DRUNK JAILER
- explain详解
- java.nio.ByteBuffer 详解
- Android主平台用户和组的配置,文件为 android_filesystem_config.h