есть все конструкторы)
ну и вопрос вдогонку, если так:
foo(some_type&& rref);
- будет разница?
нет, если нет шуток с overload resolution
так и думал. Просто почему-то интуитивно казалось, что {} должен как-то мув сэкономить, но по факту это же тот же вызов конструктора, который будет совершен при вычислении аргументов функции foo
а тут нет никакого move
User-defined конструктор по умолчанию же убивает агрегатную инициализацию?
скажем, foo(std::initializer_list<int>) точно приоритетнее для {}
Не, я про другое Это понятно Я вот конкретно про свой вопрос
Лучше задавай такие вопросы стандарту/cppref
а то и вот такие шуточки бывают struct A {}; struct B { constexpr B(A& a) : x(1) {} constexpr B(B const&) : x(2) {} int x; }; struct C : A, B { constexpr C() : A(), B(*this) {} }; static_assert(C{}.x != 2);
угу, я полчаса о*евал в отладчике от происходящего
Да, с 20 убивает уже user-declared
Обсуждают сегодня