сложное возвращаемое значение это параметр функции "буфер возвращаемого значения"
тоесть это сахарок для той сишной магии когда callee резервирует место, кидает поинтер и функция пишет в это место? а как при этом работают файналайзеры и коснтрукторы?