C++第一弹:命名空间

1.命名空间

在C++中,变量、函数、类都将存在于全局作用域中,在程序员使用各种各样的C++库时,可能会发生冲突,使用命名空间的作用就是对标识符的名称进行本地化,以避免命名冲突或域名污染。

2.命名空间的定义

格式:

namespace 命名空间的名字
{
    
    
	命名空间的成员
}

接下来给大家分享一下命名空间的几种形式(注:同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间):
(1)普通的命名空间

namespace N1
{
    
    
	int a;
	int Add(int left ,int right)
	{
    
    
		return left + right;
	}
}

(2) 命名空间的嵌套
指在一个命名空间中在定义一个命名空间

namespace N2
{
    
    
	int a;
	int b;
	int Add(int left , int right)
	{
    
    
	return left + right;
	}
	namespace N3
		{
    
    
			int c;
			int d;
			int Sub(int left , int right)
			{
    
    
				return left - right;
			}
		}
}

3.命名空间的三种使用方式

在知道怎么定义一个命名空间以后,接下来的问题自然就是怎样去使用了,这里给小伙伴们分享命名空间的三种使用方式:
(1)命名空间名称及作用域限定符

int main()
{
    
    
	printf("%d\n",N::a);//输出命名空间N中的a
	return 0;
}

(2) 使用using将命名空间中的成员引入

using N::b;
int main()
{
    
    
	printf("%d\n",N::a);
	printf("%d\n",b);
	return 0;
}

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

using namespace N;
int main()
{
    
    
	printf("%d\n",N::a);
	printf("%d\n",b);
	Add(10,20);
	return 0;
}

观察上面的三种方法,前面两种方法引入的都是命名空间中某一个特定的成员,而第三种方法是把命名空间中所有的成员与函数都引入,使用时可以直接调用。

猜你喜欢

转载自blog.csdn.net/qq_43825377/article/details/108848011
今日推荐