C++方法允许const限定符指示该方法不更改对象.但是,这是什么意思?例如.如果实例变量是指针,它是指意味着指针没有改变,还是它们指向的内存没有改变?
具体来说,这是一个最小的示例类
class myclass {
int * data;
myclass() {
data = new int[10];
}
~myclass() {
delete [] data;
}
void set(const int index) const {
data[index] = 1;
}
};
Run Code Online (Sandbox Code Playgroud)
该方法set是否正确符合条件const?它不会更改成员变量data,但确实会更改数组的内容.
c++ ×1