CD
Size: a a a
CD
AP
AD
auto [a] = B{42}; // Скомпилируется?
auto [a] = B{{}, 42}; // Скомпилируется?
auto [a,b] = B{42}; // Скомпилируется?
auto [a,b] = B{{}, 42}; // Скомпилируется?
B
не имеет отношения, к тому, сколько компонентов должен иметь structured binding.B
он должен иметь 1 компонент.B{42}
опуская инициализатор для пустой базы, но какое отношение это имеет к structured bindings?struct XY { int x, y; };
struct P1 {
int x, y, z;
};
struct P2 {
XY xy;
int z;
};
auto [x1, y1, z1] = P1 { 1, 2 };
auto [x2, y2] = P2 { 1, 2, 3 };
CD
B
не имеет отношения, к тому, сколько компонентов должен иметь structured binding.B
он должен иметь 1 компонент.B{42}
опуская инициализатор для пустой базы, но какое отношение это имеет к structured bindings?struct XY { int x, y; };
struct P1 {
int x, y, z;
};
struct P2 {
XY xy;
int z;
};
auto [x1, y1, z1] = P1 { 1, 2 };
auto [x2, y2] = P2 { 1, 2, 3 };
CD
CD
AD
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
AD
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
PK
ПК