我正在阅读有关Stroustrup的构造函数和赋值的移动
C ++教科书。以下是作者提供的激励示例。代码中的return
语句说明复制大向量可能是低效率的。
Vector operator+(const Vector& a, const Vector& b) {
if (a.size()!=b.size()) throw Vector_size_mismatch{};
Vector res(a.size());
for (int i=0; i!=a.size(); ++i) res[i]=a[i]+b[i];
return res;
}
问题:将return
类型更改为引用Vector&
会更简单以避免复制效率问题吗?