#include <常用>
构 A{
空 f(){
打印("啊");
}
};
元<类 T>构 是点啊:假型{};
元<>构 是点啊<A>:真型{};
元<类 T>概念 是呀=是点啊<T>::值;
元<是呀...T>空 f(T&...t){
(t.f(),...);
}//均为
元<类...T>要求 均为值<A,T...>
空 g(T*...t){
(t->f(),...);
}
空 主(){
A a,b,c;
f(a,b,c);
A*d,*e,*h;
g(d,e,h);
}
2种方法,用假型/真型
太麻烦了,
不如用均为值
,顺便T
的参数,也可针对指针
.
看f/g
函数.
元<类 T>构 是点啊:假型{};
元<>构 是点啊<A>:真型{};
元<类 T>概念 是呀=是点啊<T>::值;
复杂的时候,这样搞,还是很方便
的,简单的话,就不必了.
还可以继续升级为如下更好版本:
元<类 T>概念 是啊=是相同值<T,A>;
元<是啊...T>空 f(T&...t){
(t.f(),...);
}//均为
是不是,更简单
了?