![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++ primer
文章平均质量分 75
风之子-leo
喜欢研究
展开
-
string构造函数原理
最近在学习c++ primer,分析了一下String类构造的时候反汇编代码,做点笔记。//无参构造string d;004013B3 lea eax,[ebp-50h] //不知道有什么用,跟进去貌似也就初始化了一个参数。004013B6 push eax //最后一个参数,c++采用的是stdcall,参数从右到左压栈原创 2013-12-16 14:09:12 · 689 阅读 · 0 评论 -
string类函数分析
1.empty函数分析string d;004017AD lea eax,[ebp-20h] //这个变量应该是给string类一个标志赋值。没多大用004017B0 push eax //参数压栈,004017B1 lea ecx,[ebp-1Ch] //this指针压栈004017B4 call原创 2013-12-16 16:38:21 · 599 阅读 · 0 评论 -
复制初始化和直接初始化的区别
昨天看c++ primer的时候,看到一个新的名词,直接初始化和复制初始化,以前没接触c++的时候没有听说过这个区分,书上介绍到直接初始化语法更灵活且更高效。于是想验证一下有何不同。自己做了俩个试验,基本数据类型的俩种方式比较和对象的俩种方式比较。1.基本类型int a(1024); //直接初始化00401907 mov dword ptr [ebp-28h],原创 2013-12-18 23:20:13 · 725 阅读 · 0 评论