任鸟飞C++逆向安全从零基础到进阶
2023-07-29 13:31 作者:bili_93891819972 | 我要投稿
C++逆向学习(三) 移动构造函数
move语义
比如在 vector.push_back(str) 时, str(类) 作为实参,会复制一份自身成为形参,进入函数调用
而这个过程中就会产生 临时对象 ,那么也就会调用 拷贝构造函数
而如果 vector.push_back(std::move(str)) ,就可以匹配 移动构造函数 ,省去这个拷贝过程以提高效率
链接中已经解释的很详细了,不再赘述,总之就是 给将亡值续命 ,延长它的生命周期(原本很可能是一个临时变量)
代码分析
接下来的部分内容可以作为上一篇文章C++逆向学习(二) vector的补充,在分析 移动构造函数时又学到了一些之前没有注意过的 vector 的细节
Str类源码