我正在阅读 Effective C++,第 41 项,标题为“理解隐式接口和编译时多态性”,它给出了这个例子和接下来的解释,但我不明白这部分。
template<typename T>
void doProcessing(T& w)
{
if (w.size() > 10 && w != someNastyWidget) {
...
...,T 必须支持一个 size 成员函数,......,但是这个成员函数不需要返回一个整数类型。它甚至不需要返回数字类型。就此而言,它甚至不需要返回
>
定义了运算符的类型!它需要做的就是返回一个 x 类型的对象,这样就有一个>
可以用 x 类型的对象和一个 int 调用的运算符。
您能否解释一下它的含义并提供更多示例?