这段代码的最后一行在做什么?



我从未见过这个:

class myclass{
static int value;
};
int myclass::value(5);

这是我在《行动中的并发》一书中看到的代码的简短版本C++但我没有得到像那样从类块中声明静态类值是什么。

::被称为
  1. 范围解析运算符,它的目的之一是在类外访问类的静态变量,似乎上面的代码段在类外进行相同的初始化。
  2. 在 c++ 中初始化变量的方法之一(称为构造函数初始化(是通过将初始值括在括号 (((( 之间来完成的: 所以 int myclass::value(5(;等价于 int myclass::value = 5;

最新更新