|
|
|
|
|
для: Sanji
(02.02.2008 в 03:41)
| | Если я не ошибаюсь то:
1.)
char & operator[](unsigned short offset);
|
Этот перезагруженный оператор может менять значения, тоесть изминять содержимое, и возвращать char &
2.)
char operator[](unsigned short offset) const;
|
Этот же код, по идеи, просто возвращает данные не изминяя их. Так как функция объявлена с const содержимым.
3.)
char & operator[](unsigned short offset) const;
|
Этот вариант не позволит менять содержимое. | |
|
|
|
|
|
|
| Здравствуйте. Постигаю С++ по трудам Либерти. В одном из листингов дважды перегружается оператор индексирования: непостоянный оператор и версия для работы с постоянными объектами:
char & operator[](unsigned short offset);
char operator[](unsigned short offset) const; |
Непонятно следующее: зачем возвращать объект char по значению, создавая лишнюю копию этого объекта, и почему бы не использовать всего одну универсальную версию оператора индексирования, например:
char & operator[](unsigned short offset) const; |
? | |
|
|
|
|