标签:支持 必须 定义 amp base opera proc col 参数
例程:
1 template<typename T> 2 void doprocessing(T& w){ 3 if (w.size() > 10 && w != someNastyWidget){ 4 ... 5 } 6 }
T必须支持size成员函数,当然这个成员函数也可能是从base class那里继承而来。这个成员函数不需要返回一个整数值,甚至不需要返回一个数值类型,它甚至不需要返回一个定义有operator>的类型。
这个operator>不需要非取得一个类型为X的参数不了,因为他可能取得类型为Y的参数,只需要存在一个隐式转换能够将类型X的对象转换为类型Y的对象。
同理,T并不需要支持operator!=,因为像这样也是可以的:
operator !=接收一个类型为X的对象和一个类型为Y的对象,T可被转换为X而someNastyWidget可被转换为Y,这样就可以有效的调用operator!=.
标签:支持 必须 定义 amp base opera proc col 参数
原文地址:https://www.cnblogs.com/xiongxinxzy/p/13092523.html