摘要: 兩個可能性: new 失敗會 throw bad_alloc, 或傳回 0.這兩個可能性會導致兩個結果. 如果 new 拋 bad_alloc, 所有已經成功建構的物件 (如 base class, 其它成員物件) 都會解構. 尚未建構的物件不會建構. Caaa 物件也不會存在.如果 new 傳回 0, 你會有一個完整的物件, 但其內部的成員資料的完整性是個問題 ('total' 不是 0, 但 'ptr' 是 0). 你可以在 initialization list 裡抓成員所拋的 exceptions: Caaa::Caaa(int num, int *p) 阅读全文
posted @ 2011-04-17 20:28 hailong 阅读(690) 评论(1) 推荐(0) 编辑