如何在 C++ 中使用命名空间?


本文将演示如何在 C++ 代码中使用命名空间。

考虑一个场景,一个班级里有两位同名人士为 Zara。如果我们需要区分他们,肯定需要使用其姓名之外的其他信息,例如住在不同地区,或者其母亲或父亲的名字等。

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

命名空间 旨在克服这种困难,并用作附加信息,以区分可在不同库中获取的具有相同名称的相似函数、类、变量等。利用命名空间,您可以定义名称的定义上下文。本质上,命名空间定义了一个范围。

定义命名空间

命名空间定义从关键字 namespace 开始,后跟命名空间 名称,如下所示 –

namespace namespace_name {
   // code declarations
}

要调用任一函数或变量的命名空间启用版本,请预先添加 (::) 命名空间名称,如下所示 –

name::code; // code could be variable or function.

示例代码

#include <iostream>
using namespace std;
// first name space
namespace first_space {
   void func() {
      cout << "Inside first_space" << endl;
   }
}

// second name space
namespace second_space {
   void func() {
      cout << "Inside second_space" << endl;
   }
}

int main () {
   // Calls function from first name space.
   first_space::func();
   // Calls function from second name space.
   second_space::func();
   return 0;
}

输出

Inside first_space
Inside second_space

更新于: 2019 年 7 月 30 日

147 人浏览

开启你的职业生涯

通过完成课程获得认证

开始
广告