Max*_*rch 0 c++ operators assignment-operator assign
考虑以下代码:
class vector{
// ...
vector(int size){ /*...*/ };
vector& operator= (const vector& other){
// ...
}
};
int main(){
vector v1(5), v2(10);
v1 = v2;
}
Run Code Online (Sandbox Code Playgroud)
我operator =应该在这做什么?v1没有足够的容量存储元素v2.从我的角度来看,它可以将自身重新初始化为10的容量,并复制其他向量的元素或抛出异常.我通常选择前一种方法,但越来越多地经常看到后者.哪一个是正确的?
| 归档时间: |
|
| 查看次数: |
45 次 |
| 最近记录: |