假设我在一个类中声明了下标运算符
char& operator[] (int index);
const char operator[](int index) const;
在什么情况下调用第二次重载。是否仅通过 const 对象
调用。
以下场景会调用哪个版本的operator。
const char res1 = nonConstObject[10];
nonConstObject[10];
最佳答案
第一个被调用。不要被返回值弄糊涂了;只有参数被认为是选择方法。在这种情况下,隐式 this
是非常量,因此调用非常量版本。
关于c++ - 将调用哪个重载版本的运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2134943/