> -- Илья Ермаков писал(а):
> ... то их возвращали бы везде, где не лень, потому что форма записи действительно удобнее. Отсюда лишние тормоза,

Такие рассуждения не выдерживают никакой критики. Premature optimization и все такое. А если цепляться за эффективность, то непонятна позиция с контролем типов и прочими выходами за границу.

> -- Илья Ермаков писал(а):
> т.к. безобидная записьa := GetSomeRec() (а таковые в той же Дельфе пишутся обычно сплошь и рядом) вызывает два лишних копирования - сначала в стек внутри процедуры, потом из стека в ту переменную, которой присваивается...Так что такая "прореха в дизайне языка" сделана сознательно и вполне логична.

Как в дельфе не знаю, но в нормальных компиляторах С++ никаких лишних копирований не происходит. Так что это именно прореха, причем с банальным объяснением: "все в жертву простоте компилятора" (и это в 21 веке).