-
既然本质就差个
public:,那我统一用class手动加public,是不是就能彻底忘掉struct的存在了?保留它是不是纯粹为了兼容 C? -
struct里加个构造函数,指定初始化器就失效了,那“聚合”和“非聚合”的分界线到底在哪?是不是为了保留memcpy的资格,我最好永远别给struct写构造函数? -
class套了一层私有封装,编译出来的内存布局和对象大小,真的跟struct丝毫不差吗?调用inline的 getter 和直接读成员,性能上真没一点隐形代价? -
默认继承权限这个区别到底是个设计亮点还是历史包袱?我是不是得时刻记着
struct B : A是公有继承,而class B : A是私有继承,否则就埋雷? -
template<class T>见多了,突然看到template<struct T>会不会报错?这俩在模板语境里是不是完全等价? -
前向声明时写成
struct Foo;,定义时写class Foo {};,编译器到底当它是同一个类型,还是直接视作不匹配? -
标准布局和平凡类型怎么肉眼判断?万一
struct里混了个非 POD 成员,我盲目memcpy是不是等着踩内存泄露的坑? -
“逻辑不变性”这个标准太虚了,一个点坐标规定
x不能为负,算不算有了不变性?这种模棱两可的需求下,团队 Review 时怎么界定该用谁?