0040217A mov eax,dword ptr [ebp+8]我们发现compare模板语句下面构建了很多汇编语句,有一些冗长,我们可以大略介绍一下:(1) 开头调用call 0x0040103C函数就是调用重载运算符函数,[ebp-18h]表示即将被复制的是a数据还是b数据
(2) 比较返回结果后,开始复制数据,具体见0x402157,其中临时变量[ebp-14h]和临时变量[ebp-4]的操作可以忽略
(3) 函数返回前,对临时变量a和b进行析构处理,见代码0x402169和代码0x402175.
注意:
(2)模板函数的优先级低于非模板函数
(3)模板函数的类型可以是自定义类型,也可以是c、c++语言的基本类型
(4)模板函数的使用经常和类的算术运算符混合使用,注意技巧
(5)模板函数中涉及指针部分的内容,务必注意