или в стек, а в стеке какой функции он будет создан. То есть если проще, работает ли это как аналог RVO из С++, или смысл компаунд литерала только в эстетике, и создавать эксплицитно внутри foo переменную struct S s; не является преступлением?
Создание переменных в угоду читаемости - никогда не преступление. Не надо заниматься оптимизациями, которыми занимается компилятор (rvo в частности).
Обсуждают сегодня