()初始化 和 { }初始化
1.()初始化
a.内置类型
内置类型没有构造函数,()初始化底层会编译成赋值的mov指令去初始化
b.自定义类型
调用构造函数去初始化
2.{ }初始化
a.内置类型
内置类型不会使用initializer_list那一套机制,{ }初始化内置类型,底层会编译成赋值的mov指令去初始化
b.自定义类型
先创建const T[ ] 数组,然后用数组头指针和元素个数去创建initializer_list<T>对象,再用initializer_list<T>去初始化自定义类型,也就是参数为initializer_list<T>的构造函数