10
如何检测类中是否存在特定的成员变量?
为了创建算法模板函数,我需要知道在作为模板参数的类中是x还是X(以及y或Y)。当将我的函数用于MFC CPoint类或GDI + PointF类或其他一些函数时,此方法可能很有用。他们都在其中使用不同的x。我的解决方案可以简化为以下代码: template<int> struct TT {typedef int type;}; template<class P> bool Check_x(P p, typename TT<sizeof(&P::x)>::type b = 0) { return true; } template<class P> bool Check_x(P p, typename TT<sizeof(&P::X)>::type b = 0) { return false; } struct P1 {int x; }; struct P2 {float X; }; // it …