不管你认为C++初始化的方式是19种也好、42种也罢,哪种也不如C++17中int
的初始化
#include <initializer_list>
#include <type_traits>
int main() {
auto i = {3};
static_assert(std::is_same_v<decltype(i), std::initializer_list<int>>);
auto j{3};
static_assert(std::is_same_v<decltype(j), int>);
auto i={3}
是initializer_list
,而auto i{3}
是int
而在C++17之前,两者都是initializer_list
,WTF