Может ли возврат заключенного в скобки инициализатора привести к копии в C ++?

Пример:Это работает.Что же произойдет, если предположить, что наш компилятор не выполняет RVO?---- +: = 1 =: + ---- возвращает структуру ---- +: = 2 =: + ---- , поэтому ---- +: = 3 =: + ---- должен быть преобразован в ---- +: = 4 =: + ---- , затем возвращается и, наконец, копируется в ---- +: = 5 =: + ---- в строке 6.---- +: = 6 =: + ---- возвращает список инициализаторов, поэтому глубокая копия невозможна.Что говорит язык?Вы можете предоставить доказательства?Примечание: я знаю, что это не кажется полезным в этом примере, но для возврата очень больших, постоянного размера ---- +: = 7 =: + ---- s, я не хочу полагаться на RVO.
7 голосов | спросил Johannes 6 FebruaryEurope/MoscowbThu, 06 Feb 2014 17:16:13 +0400000000pmThu, 06 Feb 2014 17:16:13 +040014 2014, 17:16:13

0 ответов


Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132