гарантированно вызвать copy-elision было использование copy-list-initialization?
Т.е., например, если есть непробиваемый прокси со всеми удалёнными конструкторами и операторами присваивания кроме каких-то explicit, его таки можно вернуть by value (!) из функции с помощью return {arg1, arg2, ...};
Это не влияет на copy elision. Вы формально так же создаете временный объект который будет возвращаться из функции.
Обсуждают сегодня