C++ -> namespace(命名空间)

使用命名空间的目的

在C/C++中,变量,函数,类都是大量存在的,这些变量,函数和类的名称都存在于全局作用域中,可能会导致很多冲突,使用命名空间是对标志符的本地化,以避免命名冲突和命名污染

namespace关键字

  • 定义一个名为N1的命名空间
namespace N1 {
	int a;  // 定义变量
	//定义函数
	int Add(int x, int y){
		return x + y;
	}
}
  • 命名空间的嵌套
namespace N1 {
	int a;

	namespace N2 {
		int a;
		int Sub(int x, int y){
			return x - y;
		}
	}

	namespace N3{
		int a;
		int b;
		int c;
		int Mul(int x, int y) {
			return x * y;
		} 
	}
}
  • 如果存在福多个同名的命名空间,编译器会将同名的命名空间合并成一个

命名空间的使用

  1. 命名空间名称 + 作用域限制符(::
printf("%d", N1::a);
  1. using + 命名空间名称 + 作用域限制符
using N2::a;
//main函数中所有没有限制作用域的a都是命名空间N2中的a
int main(){
	printf("%d", a); 
}
  1. using namespace+ 命名空间名称
using namespace N3;

int main(){
	a = 1; //N3中的a
	b = 2; //N3中的b
	c = Mul(a, b); //N3中的Mul函数
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值