c++ primer学习指导(22)--3.2.1直接初始化和拷贝初始化

直接初始化和拷贝初始化有时是完全一样的,有时不一样,视涉及的类而定

比如对于string类,string s4("value") 是直接初始化,string s5="value"; 是拷贝初始化,在vs2019下测试,两者完全一样:

 

 上面两图表明,拷贝初始化和直接初始化的汇编代码是一样的,没有区别(至少在vs2019下是这样)。

而对于vector<int>类,直接初始化 vector<int> ivec(10) 是合法的,而拷贝初始化 vector<int> ivec=10 这种写法是错误的

原文地址:https://www.cnblogs.com/niao-ge/p/12163547.html