> -- Kemet писал(а):
> Что касается производительности, то код с передачей по значению может быть, как-раз, производительней, ибо исключает указатели.
Ну я так понял, проблема реальна - если мы возвращаем значение, то оно находится на стеке (неизвестно где). А принимающая переменная находится в кадре стека вызывающей функции. Т.е. может понадобиться ещё одно копирование. Хотя... и пре передаче параметра тоже копирование одно. Не пытались ли меня надурить?Или всё же при передаче нужно одно копирование, а при возврате - два? Я запутался...

Но даже если так, понятно, что программист должен понимать цену. Если цена состоит в одном лишнем копировании, то есть и случаи, где её можно заплатить. Понятно, что возвращать по значению нужно только маленькие данные.