【发布时间】:2011-07-28 00:06:37
【问题描述】:
C++ 方法允许使用const 限定符来指示该方法未更改对象。但是,这是什么意思?例如。如果实例变量是指针,是指指针没有改变,还是表示它们指向的内存没有改变?
具体来说,这是一个最小的示例类
class myclass {
int * data;
myclass() {
data = new int[10];
}
~myclass() {
delete [] data;
}
void set(const int index) const {
data[index] = 1;
}
};
方法set 是否正确地限定为const?它不会改变成员变量data,但确实会改变数组的内容。
【问题讨论】:
-
那么指向指针的指针呢?和指向指针的指针?等等……
-
您忘记了复制构造函数和赋值运算符
-
@Nemo:代码实际上是一个最小的示例。我没有声称它有任何用处。
标签: c++