静态断言,类型没有数据成员

时间:2014-11-06 10:45:40

标签: c++ c++11 static-assert

我的类型目前没有实例数据成员。我想确保将来不会意外添加任何内容。

我可以用static_asserttype_traits以某种方式执行此操作吗?我想出的最好的是断言类型的大小,但是它必须是抽象的won't work,或者至少不是以便携方式。

我很高兴允许静态数据成员。

1 个答案:

答案 0 :(得分:1)

检查类型的大小是一个好主意。你可以简单地创建一个抽象的虚拟类,然后:

static_assert(sizeof(T) == sizeof(Dummy), "oops");

即,检查目标类的大小是否与已知没有数据成员的类的大小相同。