关于参数表达式求值:
- 在函数调用之前,函数的所有参数都必须完成求值。这包括了参数表达式求值的所有副作用。
- 一旦函数开始执行,则调用函数的所有表达式要等到被调函数执行完成之后才开始或继续求值。函数的执行不会相互间接。
- 函数的参数表达式求值的顺序不定,可能互相间接。
f(new T1, new T2) 可能导致一个经典的内存泄漏问题。加入 new T1 先执行,new T2 后执行,则一旦 new T2 的过程抛出异常,T1 的内存将被泄漏。
文章来源:
http://my.donews.com/robinchow/2007/01/29/vcdrqtzdfdhbnkjyqgipqoiapasnrtvmwydm/