C ++中的命名空间

考虑一种情况,当我们有两个人在同一个班上使用相同的名字Zara。每当我们绝对需要区分他们时,我们都必须使用一些其他信息以及他们的名字,例如,如果他们居住在不同地区,或者他们母亲或父亲的名字,等等。

您的C ++应用程序中可能会出现相同的情况。例如,您可能正在编写一些具有称为函数的代码,xyz()并且还有另一个库也具有相同的功能xyz()。现在,编译器无法知道xyz()您在代码中引用的是哪个版本的函数。

命名空间旨在克服此难题,并用作附加信息来区分具有不同库中可用的相同名称的相似函数,类,变量等。使用命名空间,可以定义定义名称的上下文。本质上,命名空间定义范围。

定义命名空间

命名空间定义以关键字命名空间开头,后跟命名空间名称,如下所示–

namespace namespace_name {

   //代码声明

}

要调用功能或变量的启用命名空间的版本,请在命名空间名称前添加(::),如下所示–

name::code; //代码可以是变量或函数。

示例

#include <iostream>

using namespace std;

//命名空间

namespace first_space {

   void func() {

      cout << "Inside first_space" << endl;

   }

}

//命名空间

namespace second_space {

   void func() {

      cout << "Inside second_space" << endl;

   }

}

int main () {

   //从first_space 命名空间调用函数名

   first_space::func();

   //从second_space  命名空间调用函数名

   second_space::func();

   return 0;

}

输出结果

Inside first_space

Inside second_space

以上是 C ++中的命名空间 的全部内容, 来源链接: utcz.com/z/326377.html

回到顶部