- 初始化定义:初始化不是赋值,初始化是指创建一个变量时赋予其一个初始值,赋值的含义是把对象当前值擦除,以一个新值代替。
- 拷贝初始化:使用等号“=”赋值的初始化为拷贝初始化
- 直接初始化:不使用等号“=”赋值的初始化为直接初始化
- 当初始值只有一个时,拷贝初始化与直接初始化均可用,当初始值有多个时最好使用直接初始化。
- 列表初始化:使用花括号“{}”来进行初始化,初始化的是每个元素的值。与之相反,使用圆括号是利用构造来进行初始化。
vector<int> v1 {10,1}; //v1有两个元素,分别是10和1
vector<int> v2 (10,1); //v2有10个元素,均是1 //P89
vector<string> v3{10,"hello"}; //v3有10个元素,均是"hello",因为无法完成列表初始化,故使用花括号的值来进行构造vector