这个系列是从这篇博客开始的,主要是复现Jason Turner的“C++ Weekly With Jason Turner”视频中的代码。
025 aggregate initialization
必须要C++17或之后。基本思想是初始化派生类,但是行为和structured binding好像,就是当出现私有成员时,就不行了。使用类型不正确的初始值也是不行的,但是可以忽略定义次序上排在后面的公有成员变量。即使忽略私有成员,也无法初始化。
class A {
public:
int a = 0;
};
struct SA {
int a = 0;
void f() {
}
};
class B : public A {
public:
int b =