扩展的命名空间和匿名命名空间


在这里我们将看到如何扩展命名空间,以及如何使用未命名或匿名名称空间。

有时候,我们可以定义一个命名空间。然后我们可以再次使用相同定义编写命名空间。如果第一个具有一些成员,而第二个具有一些其他成员,那么该命名空间将被扩展。我们可以使用该命名空间的所有成员。

示例

#include <iostream>
using namespace std;
namespace my_namespace {
   int my_var = 10;
}
namespace my_namespace { //extending namespace
   int my_new_var = 40;
}
main() {
   cout << "The value of my_var: " << my_namespace::my_var << endl;
   cout << "The value of my_new_var: " << my_namespace::my_new_var << endl;
}

输出

The value of my_var: 10
The value of my_new_var: 40

未命名命名空间没有任何名称;它们具有不同的属性。

  • 它们可以直接在同一程序中使用。
  • 它们用于声明唯一标识符。
  • 在这种类型的命名空间中,命名空间的名称由编译器本身唯一生成。
  • 可以从创建它的文件中访问此文件。
  • 未命名命名空间是替换变量的静态声明。

示例

#include <iostream>
using namespace std;
namespace {
   int my_var = 10;
}
main() {
   cout << "The value of my_var: " << my_var << endl;
}

输出

The value of my_var: 10

更新日期:30-Jul-2019

209 次浏览

开启您的 职业生涯

通过完成课程取得认证

开始
广告