0
点赞
收藏
分享

微信扫一扫

C++入门:命名空间

在C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称都将存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。


1.命名空间的定义

定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。

1)命名空间中可以定义变量,函数,类型

2)命名空间可以嵌套

3)同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中

namespace ns1
{
	int a;

	double b;

	int c(int x, int y)
	{
		return x + y;
	}

	struct Node
	{
		int val;
		struct Node* next;
	};

	namespace ns2
	{
		int c;
	}
}

注意:一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限在该命名空间中


2.命名空间的使用

命名空间的使用有三种方式:

1)加命名空间名称及作用域限定符

int main()
{
	std::cout << ns1::c(1, 2) << std::endl;
	return 0;
}

2)使用using将命名空间中某个成员引入

using ns1::a;
using std::cout;
using std::endl;

int main()
{
	a = 1;
	cout << a << endl;

	return 0;
}

3)使用using namespace 命名空间名称引入

using namespace std;

int main()
{	
	cout << 1 << endl;

	return 0;
}








举报

相关推荐

0 条评论