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
,但它确实改变了数组的内容。