类和对象—对象特性—拷贝构造函数调用时期
生活随笔
收集整理的這篇文章主要介紹了
类和对象—对象特性—拷贝构造函数调用时期
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C++中拷貝構造函數通常有三種情況
- 使用一個已經建立完畢的對象來初始化一個新對象
- 值傳遞的方式給函數參數傳值
- 以值方式返回局部對象
最后一種沒有打印拷貝構造函數調用 和返回值優化有關。
返回值優化(Return value optimization,縮寫為RVO)是C++的一項編譯優化技術,即刪除保持函數返回值的臨時對象。這可能會省略兩次復制構造函數,即使復制構造函數有副作用。典型地,當一個函數返回一個對象實例,一個臨時對象將被創建并通過復制構造函數把目標對象復制給這個臨時對象。C++標準允許省略這些復制構造函數,即使這導致程序的不同行為,即使編譯器把兩個對象視作同一個具有副作用。
總結
以上是生活随笔為你收集整理的类和对象—对象特性—拷贝构造函数调用时期的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 类和对象—对象特性—函数的分类和调用
- 下一篇: 类和对象—对象特性—构造函数调用规则