代码之家  ›  专栏  ›  技术社区  ›  DarthRubik

我真的可以用一个类型的每个声明创建一个全局变量吗?

  •  1
  • DarthRubik  · 技术社区  · 9 年前

    所以我写了这段代码,编译时有点惊讶(我使用的是gcc版本5.1.0):

    struct Mine
    {
        const int* ptr;
        Mine(const int x) 
          : ptr([=]()
             { 
               static const int n = x; 
               return &n; 
             }()
            ){}
    };
    Mine first = 12;
    Mine second = 13;
    

    Mine 创建一个新的“全局”变量。

    1 回复  |  直到 9 年前
        1
  •  4
  •   Yakk - Adam Nevraumont    9 年前

    只有一个 n 以及所有 ptr

    所以,没有。