所以,我必須爲我正在編寫的類編寫兩個版本的括號運算符。operator []重載C++
詳細信息: 該類有一個私有變量,它是一個字符串數組。 operator []的版本有所不同,其中一個必須是const,另一個不是
我有點不確定這兩個版本實際上有何不同,以及何時被調用時,它們將能夠被區分。
一個我現在已經寫
string& MyClass::operator[](unsigned int index);
只是返回索引處的字符串。
我的問題是,有一個const和一個非const的點是什麼?他們又會有什麼不同呢?
編輯: 由於我必須寫這些,每個函數內的代碼是相同的嗎?
閱讀所有答案在這裏:http://stackoverflow.com/questions/13479548/why-having-const-and-non-const-accessors – Salgar 2013-04-23 20:56:53
@Salgar處理(包裝)容器可能需要一些額外的考慮因素... – 2013-04-23 21:16:05