假设我有
struct X {
~X() {}
};
什么类型以及如何得到的成员函数指针X::~X()
在C + + 03?
我不想实际调用它,只是在SFINAE使用的数字,如果存在给定类型的析构函数。
假设我有
struct X {
~X() {}
};
什么类型以及如何得到的成员函数指针X::~X()
在C + + 03?
我不想实际调用它,只是在SFINAE使用的数字,如果存在给定类型的析构函数。
你不能得到一个析构函数,也不是一个构造函数的函数指针。 然而析构函数总是存在一个类型,你可以,如果它不能检测private
用的访问说明不被认为SFINAE。
在调用这将是一个标量类型的析构函数的主体,标准说[class.dtor] / 16:
[注:析构函数的显式调用符号可用于任何标量类型名称(5.2.4)。 允许这使得它可以编写代码,而不必知道,如果一个析构函数存在一个给定的类型。 例如,
的typedef INT I;
我* P;
P->我::〜I();
末端注]