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,但我现在找不到,所以这里有一个答案:


那么int
a=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>();