所以,我必须为我正在编写的类编写两个版本的括号运算符。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