首頁  >  問答  >  主體

c++ - 关于 throw 和拷贝构造

ringa_leeringa_lee2764 天前540

全部回覆(1)我來回復

  • PHP中文网

    PHP中文网2017-04-17 13:53:18

    這裡對於第一張圖,是沒有問題的,並不需要拷貝。因為你捕捉的參數是Except&類型,而不是Except類型。

    對於第二個,照理說應該也不存在拷貝的情況,因為throw Except()拋出的是一個臨時的Except對象,而被捕捉的是它的引用,是不需要再構造一個對象的。

    第二個的輸出結果,應該是將catch(Except& e)改為了catch(Except e)的。

    throw Except()應該不只在VS中能編譯通過的,至少在g++4.8下沒有問題。

    回覆
    0
  • 取消回覆