C++笔记 简单模板
来源:互联网 发布:淘宝花呗分期付款利息 编辑:程序博客网 时间:2024/05/01 07:44
我试图用最简单的例子呈现给大家
#include "stdafx.h"template <typename T> //定义一个模板T Sum(T a, T b){return a+b;}int main(int argc, char* argv[]){int m,n;double x,y;scanf("%d,%d",&m,&n);scanf("%lf,%lf",&x,&y);int a = Sum(m,n); //调用1double b = Sum(x,y); //调用2printf("%d\r\n",a);printf("%f\r\n",b);return 0;}
最后附上 IDA反汇编代码
; int __cdecl main(int argc, const char **argv, const char **envp)_main proc nearvar_20= dword ptr -20hvar_1C= dword ptr -1Chvar_18= qword ptr -18hvar_10= qword ptr -10hvar_8= qword ptr -8argc= dword ptr 4argv= dword ptr 8envp= dword ptr 0Chsub esp, 20hlea eax, [esp+20h+var_1C]lea ecx, [esp+20h+var_20]push eaxpush ecxpush offset Format ; "%d,%d"call _scanflea edx, [esp+2Ch+var_8]lea eax, [esp+2Ch+var_10]push edxpush eaxpush offset aLfLf ; "%lf,%lf"call _scanffld [esp+38h+var_10]mov ecx, [esp+38h+var_20]mov edx, [esp+38h+var_1C]fadd [esp+38h+var_8]add ecx, edxpush ecxpush offset aD ; "%d\r\n"fstp [esp+40h+var_18]call sub_401070mov eax, dword ptr [esp+40h+var_18+4]mov ecx, dword ptr [esp+40h+var_18]push eaxpush ecxpush offset asc_40A030 ; "%f\r\n"call sub_401070xor eax, eaxadd esp, 4Chretn_main endp
用F5反汇编后得到的结果
int __cdecl main(int argc, const char **argv, const char **envp){ int v4; // [sp+0h] [bp-20h]@1 int v5; // [sp+4h] [bp-1Ch]@1 double v6; // [sp+8h] [bp-18h]@1 double v7; // [sp+10h] [bp-10h]@1 double v8; // [sp+18h] [bp-8h]@1 scanf("%d,%d", &v4, &v5); scanf("%lf,%lf", &v7, &v8); v6 = v7 + v8; sub_401070("%d\r\n", v5 + v4); sub_401070("%f\r\n", *(_QWORD *)&v6); return 0;}
- C++笔记 简单模板
- C++--简单类模板语法
- C语言简单通讯录模板
- C/C++_log2000_函数模板与类模板笔记1
- C/C++_log2000_函数模板与类模板笔记2
- 函数模板简单两例(c++)
- C++:简单的二维数组模板类
- 【c++】函数模板的简单应用
- [C++]queue简单实现--关于模板
- [C++] 模板类实现简单链表
- 模板函数简单示例(C++)
- 学习C++模板---模板类带简单参数
- C++Template学习笔记之函数模板
- [C++] C++小笔记之模板函数
- (C/C++学习笔记)函数模板加强
- C++STL模板笔记(一)
- [C/C++]_[简单例子看模板template的特性]
- PRO*C安装简单笔记
- poj1011 Sticks---dfs
- Java动态代理(转)
- 面试编程题拾遗(05) --- 括号匹配检查
- 【单链表】curd-水浒英雄排行榜
- java --- subString() slice substr
- C++笔记 简单模板
- java hibernate二级缓存
- SecureCR中改变显示宽度
- ClistCtrl删光所有行和列的方法
- 路由配置上网
- 海口胜地-假日海滩-沙滩烧烤
- 职场最让人鄙视哪种招聘面试老板
- 好记性不如烂笔头-解决Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
- 黑马程序员——面试题之交通灯管理系统