關(guān)于控制流(即 C++ 代碼的執(zhí)行順序):
- 在各翻譯單元之間的那些全局變量(包括類的靜態(tài)變量)的初始化順序并未被定義。
- 當(dāng)程序在 non-debug 模式下被建立的時(shí)候,編譯器會自動(dòng)刪掉 assert()。因此不要在 assert 中加入有副作用的代碼。
- 對于代碼:cout << f(i) << g(i);,f 和 g 的執(zhí)行順序是不確定的,即隨著不同的編譯器實(shí)現(xiàn)而有所不同。
文章來源:
http://my.donews.com/robinchow/2007/01/15/ragovhbegchcbordvelfjrvrdzairpzjpfxl/