關于參數表達式求值:
- 在函數調用之前,函數的所有參數都必須完成求值。這包括了參數表達式求值的所有副作用。
- 一旦函數開始執行,則調用函數的所有表達式要等到被調函數執行完成之后才開始或繼續求值。函數的執行不會相互間接。
- 函數的參數表達式求值的順序不定,可能互相間接。
f(new T1, new T2) 可能導致一個經典的內存泄漏問題。加入 new T1 先執行,new T2 后執行,則一旦 new T2 的過程拋出異常,T1 的內存將被泄漏。
文章來源:
http://my.donews.com/robinchow/2007/01/29/vcdrqtzdfdhbnkjyqgipqoiapasnrtvmwydm/