小编BEC*_*OOL的帖子

匿名命名空间如何避免创建全局静态变量?

我们可以有匿名命名空间(没有名字的命名空间)。它们可直接在同一程序中使用,并用于声明唯一标识符。据说它避免了全局静态变量。我的问题是如果它不是静态的,那么为什么默认值为零?

由于之前已经问过这些问题,但完全不清楚C++ 匿名命名空间:变量初始化为 0?

#include<iostream>
using namespace std;

namespace 
{
  int x; // Here x should have garbage value according to definition of anonymous namespace
}

int main()
{
   cout << x << endl;// But x is throwing zero why?
}
Run Code Online (Sandbox Code Playgroud)

c++ namespaces

1
推荐指数
1
解决办法
1201
查看次数

标签 统计

c++ ×1

namespaces ×1