关于密切相关的主题有很多SO问题,但我找不到一个能完全解决我问题的问题。
假设:
std::vector<int> a, b;
以下两种情况之间的区别是什么:
std::vector<int> c(a); // case c(a)
std::vector<int> d = a; // case d=a
以及后来:
c(b); // c(b): does this make sense?
c = b; // or is this better? and if so, why?
答案 0 :(得分:-2)
C(b)是最好的方法......这将调用构造函数,这意味着您的对象将在您开始使用之前构建。
最好的方法是理解这一点,如果你创建const对象的第二种方法会给出错误说对象是只读的,而第一种方法是可行的。