bit*_*ask 4 c++ destructor member-function-pointers c++03
假设我有
struct X {
~X() {}
};
Run Code Online (Sandbox Code Playgroud)
我X::~X()在C++ 03中获取成员函数指针的类型是什么?
我不想实际调用它,只是在SFINAE中使用来确定是否存在给定类型的析构函数.
您无法获取析构函数的函数指针或构造函数.尽管如此,类型仍然存在析构函数,并且您无法检测SFINAEprivate是否考虑使用析构函数作为访问说明符.
关于调用标量类型的析构函数的问题,标准说[class.dtor]/16:
[注意:显式调用析构函数的表示法可用于任何标量类型名称(5.2.4).允许这样就可以编写代码而无需知道给定类型是否存在析构函数.例如,
typedef int I;
我*p;
P->我::〜I();
- 尾注]