问题描述
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";
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)