C++ C++;不同变量初始化
那么C++ C++;不同变量初始化,c++,C++,那么inta=10和inta(10)?是否有一些性能变化,或类似的情况?我很确定这方面有dupe,但我现在找不到,所以这里有一个答案: 那么inta=10之间的主要区别是什么和inta(10) 第一种是复制初始化,第二种是直接初始化。它们都会产生一个值为10的int 有一些表演变化,或者类似的吗 对于int:否。对于类/结构,可能存在。复制初始化将调用类的复制构造函数,这可能会做一些工作。例如,std::vector的复制构造函数将复制向量的每个元素,这可能会变得昂贵 std::vector&
inta=10代码>和inta(10)代码>?是否有一些性能变化,或类似的情况?我很确定这方面有dupe,但我现在找不到,所以这里有一个答案:
那么inta=10之间的主要区别是什么代码>和inta(10)代码>
第一种是复制初始化,第二种是直接初始化。它们都会产生一个值为10的int
有一些表演变化,或者类似的吗
对于int
:否。对于类/结构,可能存在。复制初始化将调用类的复制构造函数,这可能会做一些工作。例如,std::vector
的复制构造函数将复制向量的每个元素,这可能会变得昂贵
std::vector<int> a{ 1, 2, 3 };
std::vector<int> b = a;
std::cout << a.size() << "/" << b.size(); // will print 3/3
std::向量a{1,2,3};
std::向量b=a;
std::类是否有一些区别,但对于普通的int
则没有区别。这些区别是什么?。
std::vector<int> c = std::vector<int>();