0

AFAIK 我们应该为全局对象使用一个未命名的命名空间,我们希望使它们成为翻译单元的本地对象,而不是将这些对象定义为static全局对象。所以那里的对象是隐含的静态的。

我想知道在没有初始化程序(默认初始化)的情况下定义内置类型的对象是否int具有与显式定义相同的定义值static

这是一个例子:

namespace ns{
    namespace {
        int x; // static
    }
    int y; // local non-static. // indeterminated value (UB if its value used) 
}

int main(){
    std::cout << ns::x << "\n";
    std::cout << ns::y << "\n";
}
4

0 回答 0