PP
Size: a a a
PP
AP
CD
AP
CD
CD
AP
struct A{}:
struct B: A { int a; };
auto [a] = B{42}; // Скомпилируется?
std::get<0>(B{42}); // Вернёт int или A ?AP
CD
CD
struct A{}:
struct B: A { int a; };
auto [a] = B{42}; // Скомпилируется?
std::get<0>(B{42}); // Вернёт int или A ?AP
auto [a] = B{42}; // Скомпилируется?
auto [a] = B{{}, 42}; // Скомпилируется?
auto [a,b] = B{42}; // Скомпилируется?
auto [a,b] = B{{}, 42}; // Скомпилируется?CD
auto [a] = B{42}; // Скомпилируется?
auto [a] = B{{}, 42}; // Скомпилируется?
auto [a,b] = B{42}; // Скомпилируется?
auto [a,b] = B{{}, 42}; // Скомпилируется?CD
AP
CD
struct A { int x = 0; int y = 0; };
struct B { int x = 0; int y = 0; };
struct C { A a; B b; int c; }; //всегда инициализируется
C{ {}, 0, 0 }; //имелось в виду C{ {}, {}, 0 };МВ
CD
CD
auto [a] = B{42}; // Скомпилируется?
auto [a] = B{{}, 42}; // Скомпилируется?
auto [a,b] = B{42}; // Скомпилируется?
auto [a,b] = B{{}, 42}; // Скомпилируется? B { .a = 42 }; B { .A = {}, .a = 42 };CD
struct A{}:
struct B: A { int a; };
auto [a] = B{42}; // Скомпилируется?
std::get<0>(B{42}); // Вернёт int или A ?auto [a] = B{{}, 42}; // Скомпилируется?