хитрый возврат объекта из функции
От: l33thaxor  
Дата: 26.01.11 01:13
Оценка:
Вот такое дело. Допустим у класса storage есть функция fetch_data, которая возвращает объекты типа data по запросу:
data storage::fetch_data(string const & request);

Пока что data возвращается по значению. Но в большинстве случаев оказывается, что можно было бы возвратить и ссылку на data, сохраненный в storage:
data const & storage::fetch_data(string const & request);

И это было бы гораздо эффективнее текущей версии, так как не надо делать копию data.

Но иногда storage не может найти данные по запросу, и он их создаёт. И в этом случае по ссылке возвратить data уже нельзя. Именно поэтому текущая версия fetch_data возвращает по значению. Вопрос: как так возвратить data, чтобы в в большинстве случаев не делать копирования, а делать только в тех редких случаях, когда приходится?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.