正文
1.不要手動釋放從函數(shù)返回的堆資源
假設你正在處理一個模擬Investment的程序庫,不同的Investmetn類型從Investment基類繼承而來,
1 class Investment { ... }; // root class of hierarchy of2 3 // investment types
進一步假設這個程序庫通過一個工廠函數(shù)(Item 7)來給我們提供特定Investment對象:
1 Investment* createInvestment(); // return ptr to dynamically allocated2 3 // object in the Investment hierarchy;4 5 // the caller must delete it6 7 // (parameters omitted for simplicity)
正如注釋所表述的,當createInvesment返回的對象不再被使用時,調(diào)用者有責任將此對象釋放掉。我們用函數(shù)f來履行這個職責:
延伸閱讀
學習是年輕人改變自己的最好方式