c++中namespace的使用

1.初识namespace

相信很多小伙伴在初学c++时一定对using namespace std;这条语句充满了好奇,命名空间namespace到底是用来干嘛的呢?
其实很简单,就是用来区分不同作用域下相同名字的函数、类、变量,听起来有点抽象,举一个简单的例子。
在某个年级里,1班有个马云,3班有个马云,某次年级开会时,点名批评马云,怎么区分是哪个马云呢,就需要说清楚是哪个班的。如果是3班的,就需要用“3班::马云”来表示,这就是命名空间的简单使用。
在c++里就可以这样表示:

#include <iostream>
using namespace std;

namespace first{
	int a = 10;
}

namespace second{
	int a = 11;
}

int main()
{
	cout << first::a << endl;
	cout << second::a << endl; 
	
	return 0;
}

输出结果:
10
11

2. namespace的位置

使用using namespace,该语句后面使用的变量或函数名不需要再重复声明first::func()。

#include <iostream>
using namespace std;

namespace first{
	void func(){
		cout << "hello";
	}
}

namespace second{
	void func2(){
		cout << " world!" << endl; 
	}
}

int main()
{
	using namespace first;
	func();
	using namespace second;
	func2();
	
	return 0;
}

输出结果:hello world!

3. namespace的嵌套使用
#include <iostream>
using namespace std;

namespace first{
	int a = 10;
	namespace second{
		int a = 11;
	}
}

int main()
{
	using namespace first;
	cout << a << endl;
	cout << second::a << endl;	
	
	return 0;
}

输出结果:
10
11

参考:
[1]: https://blog.csdn.net/qq_40416052/article/details/82528676?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-4.baidujs&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-4.baidujs
[2]: https://blog.csdn.net/yao_zhuang/article/details/1853625

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值