Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++11 类内初始值设定项到底是什么?_C++11_In Class Initialization - Fatal编程技术网

C++11 类内初始值设定项到底是什么?

C++11 类内初始值设定项到底是什么?,c++11,in-class-initialization,C++11,In Class Initialization,我读过很多提到类内初始值设定项的文章,也搜索过很多关于stackoverflow的问题,但是我没有找到任何关于什么是类内初始值设定项的精确解释。据我所知,在任何函数外声明的内置类型的变量都将由编译器默认初始化,类内initilizer是否对声明的变量执行相同的操作 下面是一个简单的类内初始化示例。它对于减少键入非常有用,尤其是当有多个构造函数签名可用时。这也是我们推荐的 由于数据成员是显式初始化的,所以问题的第二部分实际上不适用于类内初始化 class Foo { public: F

我读过很多提到类内初始值设定项的文章,也搜索过很多关于stackoverflow的问题,但是我没有找到任何关于什么是类内初始值设定项的精确解释。据我所知,在任何函数外声明的内置类型的变量都将由编译器默认初始化,类内initilizer是否对声明的变量执行相同的操作

下面是一个简单的类内初始化示例。它对于减少键入非常有用,尤其是当有多个构造函数签名可用时。这也是我们推荐的

由于数据成员是显式初始化的,所以问题的第二部分实际上不适用于类内初始化

class Foo {
  public:
    Foo() = default; // No need to initialize data members in the initializer list.
    Foo(bool) { /* Do stuff here. */ } // Again, data member already have values. 

  private:
    int bar = 42; 
    //      ^^^^ in-class initialization
    int baz{};
    //     ^^ same, but requests zero initialization
};