C++11初始化列表(大括号初始化)
在C++11 中有类似这样的代码出现,boost::asio::io_context ioc{ 1 }。这表示声明的过程中直接初始化, C++98需要使用=进行初始化。
C++11可以这样使用是因为引入了初始化列表initialize_List<T>这样一个模板类,构造的过程中可以使用初始化列表进行构造。
同时类成员中,费静态成员变量可以就地初始化。就地初始化和初始化成员列表的顺序是先就地初始化然后在初始化成员列表。
在C++11 中有类似这样的代码出现,boost::asio::io_context ioc{ 1 }。这表示声明的过程中直接初始化, C++98需要使用=进行初始化。
C++11可以这样使用是因为引入了初始化列表initialize_List<T>这样一个模板类,构造的过程中可以使用初始化列表进行构造。
同时类成员中,费静态成员变量可以就地初始化。就地初始化和初始化成员列表的顺序是先就地初始化然后在初始化成员列表。