Re: Перегрузка оператора и конструктор копии
От: jazzer Россия Skype: enerjazzer
Дата: 25.12.02 18:44
Оценка:
Здравствуйте, Jamais Vu, Вы писали:

JV>Хотелось бы уточнить когда же все-таки он вызывается и от чего это зависит... Это был вопрос.


Он вызывается после того, как объект перестал быть нужен (и по крайней мере до начала следующей инструкции, если на какой-либо временный объект не была заведена константная ссылка). Подробности смотри в Стандарте (12.2).
Еще надо помнить, что компилятор имеет право соптимизировать возвращение локальной переменной по значению, обойдясь без копирования.

JV>И второй вопрос по поводу перегрузки операторов.

JV>Можно ли каким-нибудь хитрым ходом сделать перегрузку псевдооператора [][] (двойной массив), которого нет, через [], который есть.
тебе нужен один оператор[], который вернет объект некоего левого класса, в котором будет храниться, например, данный х и ссылка на матрицу, а у него определить свой оператор[], который уже будет возвращать элемент.

JV>Вариант [x,y] понятен но хотелось бы чтобы сохранился вид [x][y]. Это тоже был вопрос к многоуважаемому сообществу программистов.


он, конечно, понятен, но в С++ невозможен, ибо оператор[] воспринимает только один аргумент.
Если ты хочешь писать два индекса в скобках, переопредели оператор().
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.