以下几行是等效的(从c ++ 17开始):
namespace A { namespace B {} }
namespace A::B {}
下面的行是否有合格的等效项?
namespace A { namespace {} }
谢谢
答案 0 :(得分:0)
匿名名称空间(也称为未命名名称空间)成员占据全局范围,并且在文件中的声明之后的所有范围中均可访问。我们可以无限制地访问它们。
如果您考虑使用以下程序:
config/database.yml
您必须使用限定符cat /etc/postgresql/12/main/postgresql.conf | grep port
,即#include <iostream>
// named namespace
namespace A {
// unnamed namespace
namespace {
int a;
}
}
int main(void) {
// initializing an unnamed namespace member
// you need to use `::` because that unnamed namespace
// is containing in a named namespace `A`
A::a = 10;
// calling the unnamed namespace member
std::cout << A::a << std::endl;
return 0;
}
,如果您定义了未命名的命名空间,则不再需要使用示例中给出的任何限定:
::