этой статье
Raymond Chen, выражение Ternary не является кандидатом на копию Elision. < /p>
Проблема с тщательным Правило для тройных выражений заключается в том, что
Результат инициализируется из < /em> ветви выбранного тройного. Сделал еще несколько тестирования: < /p>
код (
Код: Выделить всё
struct Widget : WidgetBase#include
#include
struct WidgetBase
{
// local mode
WidgetBase() {};
// remote mode
WidgetBase(std::string const& server)
:m_server(server)
{
std::cout
Godbolt < /p>
Есть еще одна особенно странная вещь: член Struct, похоже, влияет на то, выполняет ли MSVC копию Elision или нет!?
Если я удаляю std :: string m_server < /code> from widgetbase < /code>: < /p>
: < /p>
Подробнее здесь: https://stackoverflow.com/questions/797 ... py-elision
Мобильная версия