通過參數-fno-elide-constructors關閉g++的編譯優化

前兩天在做講課資料的時候遇到一個比較坑的問題。一般來說調用拷貝構造函數分三種情況 1.當用類一個對象去初始化另一個對象時。 2.如果函數形參是類對象。 3.如果函數返回值是類對象,函數執行完成返回調用時。   道理很簡單,我寫了個很簡單的例子 在fun函數中會返回一個class A的對象,那麼編譯器會在棧上構造一個臨時對象,構造臨時對象的方法則是調用拷貝構造函數 結果運行後,如下圖 沒有打印出拷貝
相關文章
相關標籤/搜索