Перегрузка оператора [] в C++
class risc { // singleton
protected:
static unsigned long registers[8];
public:
unsigned long operator [](int i) const {return registers[i];}
unsigned long & operator [](int i) {return registers[i];}
};
Когда будет вызываться unsigned long operator [](int i) const
, а когда unsigned long & operator [](int i) {return registers[i];}
? И необходим ли вообще метод unsigned long operator [](int i) const
?
Источник: Stack Overflow на русском