c++ - 如何访问嵌套匿名命名空间下定义的变量?

标签 c++ namespaces

我正在编写一些玩具程序来尝试各种 C++ 关键字的功能。我已经声明了一个嵌套在另一个匿名命名空间下的匿名命名空间,并且两个命名空间(嵌套和嵌套)都定义了一个变量 i如下:

namespace {
    int i = 80;
    namespace {
        int i = 90;
    }
}

我可以访问变量 i使用 ::i 在顶级命名空间下定义,但如何访问变量 i在嵌套命名空间下定义?

最佳答案

如果您为内部作用域中的变量指定一个唯一名称,您可以在匿名 namespace 之外访问它,但只要名称冲突存在,您就只能从最内部的 namespace 通过名称访问它。您可以通过其他方式访问它(例如,在最内部的命名空间或函数中创建一个引用)

关于c++ - 如何访问嵌套匿名命名空间下定义的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47534772/

相关文章:

c++ - Scons 没有按照我指定的那样计算正确的 'ParseDepends' 或 'Ignore'

c++ - 模板中类型名称分配的目的是什么

c++ - 计算 3D 平面圆的最小半径

c# - .NET 中 PowerShell 的引用是什么?

php - PHP 5.3 中接口(interface)/抽象类的命名(使用命名空间)

xml - 使用带有命名空间的 XPath 选择 3 个元素,但按属性对其进行过滤(仅限 Firefox)

c++ - 计算3D点的像素坐标

c++ - 从二进制文件中读取 unsigned long

php - Codeigniter 使用第三方类

c# - 更改/重命名命名空间前缀