提问者:小点点

这段代码的最后一行在做什么? [副本]


我从来没见过这个:

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

这是我在C++Concurrency in Action一书中看到的一段代码的简短版本,但是我没有从类块中得到静态类值的声明。


共1个答案

匿名用户

  1. ::被称为作用域解析运算符,它的目的之一是在类外访问类的静态变量,上面的代码似乎也在做同样的事情,在类外初始化它。
  2. 在C++中初始化变量的方法之一,称为构造函数初始化,它是通过将初始值括在括号(())之间来完成的:So int MyClass::value(5); 等价于int MyClass::Value=5;