我不明白为什么我们通常需要两个版本的返回引用的函数——一个是 const 而另一个不是。例如在这段代码中:
const char& String::operator[](int index) const {
verify_index(index);
return data[index];
}
char& String::operator[](int index) {
verify_index(index);
return data[index];
}
如果我们只有 const,那么我们将无法做到例如 str[i] = value。但是只有非常量引用有什么问题,有人可以举个例子吗?
谢谢