我的类型目前没有实例数据成员。我想确保将来不会意外添加任何内容。
我可以用static_assert
和type_traits
以某种方式执行此操作吗?我想出的最好的是断言类型的大小,但是它必须是抽象的won't work,或者至少不是以便携方式。
我很高兴允许静态数据成员。
答案 0 :(得分:1)
检查类型的大小是一个好主意。你可以简单地创建一个抽象的虚拟类,然后:
static_assert(sizeof(T) == sizeof(Dummy), "oops");
即,检查目标类的大小是否与已知没有数据成员的类的大小相同。