gpt4 book ai didi

c++ - const 指针成员和 operator=

转载 作者:太空宇宙 更新时间:2023-11-04 15:47:09 25 4
gpt4 key购买 nike

class Point {
public:
Point(int x, int y) : { x = new int(x); y = new int(y) }
...
...
Point& operator=(const Point& other) {
if(this!=&other){
delete x;
delete y;
x = new int(*other.x);
y = new int(*other.y);
}
return *this;
}
private:
const int* x;
const int* y;
}

即使已经初始化了 operator= 的 x 和 y,这个 operator= 的实现还能工作吗?删除 const 指针是否允许我们重新分配它?

最佳答案

那不是const 指针,而是指向const 的指针。所以您可以修改指针,但不能修改它指向的内容。

const 指针是

int* const x;

然后您的代码将无法编译。

关于c++ - const 指针成员和 operator=,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14747409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com