項目03ではEffective C++
、可能な限りconstを使用してください。
class Bigint
{
int _data[MAXLEN];
//...
public:
int& operator[](const int index) { return _data[index]; }
const int operator[](const int index) const { return _data[index]; }
//...
};
const int operator[]
との違いはありませんint& operator[]
。
しかし、どうですか:
int foo() { }
と
const int foo() { }
それらは同じようです。
私の質問は、なぜ私たちがconst int operator[](const int index) const
代わりに使用するのint operator[](const int index) const
かということです。