返回值优化RVO和命名返回值优化NRVO

简介

RVO,是Return Value Optimization。这是在函数返回返回值的时候编译器所做出的优化,是C++11标准的一部分,C++11称之为copy elision。
在第一次编写的函数里面,编译器明确知道函数会返回哪一个局部对象,那么编译器会把存储这个局部对象的地址和存储返回值临时对象的地址进行复用,也就是说避免了从局部对象到临时对象的拷贝操作。这就是RVO。

资料

https://blog.csdn.net/TH_NUM/article/details/121550555
https://www.jianshu.com/p/e4354b86acb1
https://blog.csdn.net/weixin_40683787/article/details/124613607

posted @ 2022-11-11 16:58  小海哥哥de  阅读(69)  评论(0编辑  收藏  举报