通常、参照を返す関数の 2 つのバージョンが必要な理由がわかりません。たとえば、次のコードで:
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 を実行することはできません。しかし、非 const 参照のみを持つことの問題は何ですか?誰かが例を挙げてもらえますか?
ありがとう