是否有 SFINAE 模板来检查 class 是否没有任何类型的功能?

Is there a SFINAE-template to check if a class has no functions of any kind?

我想检查给定的 class 是否 只有以下 :

除了用户定义的构造函数和析构函数之外,此类型(至少在视觉上声明方面)与 POD 类型相同。我试图为这种类型找到一个术语,但我认为它不存在。

有没有办法使用一些 SFINAE-hackery 来检查这个?

不,没有这样的方法。考虑以下因素:

struct A { };
struct B { void UniqueFunctionName9814(); };

没有SFINAE方法可以区分这些,因为你不能枚举成员函数名,也不能预测随机函数名。因此 B::UniqueFunctionName9814 无法检测到,除了 B::UniqueFunctionName9814 之外,两个 类 是相同的。