C++ NRV优化

NRV,named return value
某个函数返回一个对象时,在外部接收
A a = Fun();
会调用复制构造函数
会损失性能

为何不能将函数Fun定义成传入引用a,然后直接在a上进行操作的函数?
编译器的NRV优化就是这个思想
将这种函数转化为传入引用参数,返回类型为void的函数

A Fun(){A a;***;return a}=> Void Fun(A& a){***}

posted @ 2023-02-03 17:52  ecnu_lxz  阅读(44)  评论(0编辑  收藏  举报