CD
foo(const some_type& ref);между
foo({});и
foo(some_type());есть какая-то разница ? (предполагается, что у some_type есть все конструкторы)
ну и вопрос вдогонку, если так:
foo(some_type&& rref);- будет разница?
Size: a a a
CD
foo(const some_type& ref);между
foo({});и
foo(some_type());есть какая-то разница ? (предполагается, что у some_type есть все конструкторы)
foo(some_type&& rref);- будет разница?
EV
{}
должен как-то мув сэкономить, но по факту это же тот же вызов конструктора, который будет совершен при вычислении аргументов функции foo
CD
{}
должен как-то мув сэкономить, но по факту это же тот же вызов конструктора, который будет совершен при вычислении аргументов функции foo
EV
EV
CD
EV
EV
CD
D
D
EV
EV
D
CD
D
CD
LA
CD
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);
CD