C++ 模板对设计者和调用者的责任要求
当编写模板时,代码不能是针对特定类型的,但模板代码通常对其所使用的类型有一些假设。例如,我们最初的compare 函数中的代码就假定实参类型定义了<运算符。
WARNING
保证传递给模板的实参支持模板所要求的操作,以及这些操作在模板中能正确工作,是调用者的责任。
▲ 《C++ Primer》 P583
当编写模板时,代码不能是针对特定类型的,但模板代码通常对其所使用的类型有一些假设。例如,我们最初的compare 函数中的代码就假定实参类型定义了<运算符。
保证传递给模板的实参支持模板所要求的操作,以及这些操作在模板中能正确工作,是调用者的责任。