ringa_lee
這裡對於第一張圖,是沒有問題的,並不需要拷貝。因為你捕捉的參數是Except&類型,而不是Except類型。
Except&
Except
對於第二個,照理說應該也不存在拷貝的情況,因為throw Except()拋出的是一個臨時的Except對象,而被捕捉的是它的引用,是不需要再構造一個對象的。
throw Except()
第二個的輸出結果,應該是將catch(Except& e)改為了catch(Except e)的。
catch(Except& e)
catch(Except e)
throw Except()應該不只在VS中能編譯通過的,至少在g++4.8下沒有問題。
這裡對於第一張圖,是沒有問題的,並不需要拷貝。因為你捕捉的參數是
Except&
類型,而不是Except
類型。對於第二個,照理說應該也不存在拷貝的情況,因為
throw Except()
拋出的是一個臨時的Except
對象,而被捕捉的是它的引用,是不需要再構造一個對象的。第二個的輸出結果,應該是將
catch(Except& e)
改為了catch(Except e)
的。throw Except()
應該不只在VS中能編譯通過的,至少在g++4.8下沒有問題。