自2011年C++标准的修订以来,变量可以通过以下三种不同的方式进行初始化。
据我所知,这三种不同的初始化方式都具有相同的效果。既然它们都具有相同的效果,为什么不坚持使用第一种初始化方式呢?是否有特殊需要通过在()或{}中包围初始值来初始化变量?
int i = 0;
int i (0);
int i {0};
据我所知,这三种不同的初始化方式都具有相同的效果。既然它们都具有相同的效果,为什么不坚持使用第一种初始化方式呢?是否有特殊需要通过在()或{}中包围初始值来初始化变量?
std::vector<int> i(0)
和std::vector<int> i{0}
之间存在差异,而std::vector<int> i = 0
则会报错。 - Thomas Sablik