C++ NRV优化
NRV,named return value
某個(gè)函數(shù)返回一個(gè)對(duì)象時(shí),在外部接收
A a = Fun();
會(huì)調(diào)用復(fù)制構(gòu)造函數(shù)
會(huì)損失性能
為何不能將函數(shù)Fun定義成傳入引用a,然后直接在a上進(jìn)行操作的函數(shù)?
編譯器的NRV優(yōu)化就是這個(gè)思想
將這種函數(shù)轉(zhuǎn)化為傳入引用參數(shù),返回類型為void的函數(shù)
A Fun(){A a;***;return a}=> Void Fun(A& a){***}
總結(jié)
- 上一篇: 【Luogu】P1393动态逆序对(树套
- 下一篇: 【1】第一篇 Postman的初级使用之