在本文中,我们将看到如何在C ++代码中使用命名空间。
考虑一种情况,当我们有两个人在同一个班上使用相同的名字Zara。每当我们绝对需要区分他们时,我们都必须使用一些其他信息以及他们的名字,例如,如果他们居住在不同地区,或者他们母亲或父亲的名字,等等。
您的C ++应用程序中可能会出现相同的情况。例如,您可能正在编写一些具有称为函数的代码,xyz()
并且还有另一个库也具有相同的功能xyz()
。现在,编译器无法知道xyz()
您在代码中引用的是哪个版本的函数。
一个命名空间 的目的是克服这个困难,并作为额外的信息来区分类似的功能,类,变量等在不同库中可用相同的名称。使用命名空间,您可以定义用于定义名称的上下文。本质上,命名空间定义范围。
命名空间定义以关键字命名空间开头,后跟命名空间 名称,如下所示–
namespace namespace_name { //代码声明 }
要调用功能或变量的启用命名空间的版本,请在命名空间名称前添加(::),如下所示–
name::code; // code could be variable or function.
#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 () { // Calls function from名字空间. first_space::func(); // Calls function from姓氏空间. second_space::func(); return 0; }
输出结果
Inside first_space Inside second_space