c++简单有成员

#define 有成员(S) \
    元<型名 T,类=空>构 有##S:假型{};\
    元<型名 T>构 有##S<T,空型<推导(求值<T>().S())>>:真型{};

使用代码:

#include <常用>
构 A{
    空 啊(&s){//加了个参数就不灵了.
        打印("啊");
    }
};
构 B{
    空 哦(&t){//加了t就不灵了.
        打印("哦");
    }
};

有成员();
有成员();

空 主(){
    打印(有啊<A>::,"有啊");
    打印(有哦<B>::,"有哦");
    打印(有啊<B>::,"无啊");
    打印(有哦<A>::,"无哦");
}

这里有void_t详细解释.

posted @ 2020-11-16 23:26  zjh6  阅读(15)  评论(0)    收藏  举报  来源