正文

回到頂部

1.不要手動釋放從函數(shù)返回的堆資源

假設(shè)你正在處理一個模擬Investment的程序庫,不同的Investmetn類型從Investment基類繼承而來,

1 class Investment { ... }; // root class of hierarchy of2 3 // investment types

進一步假設(shè)這個程序庫通過一個工廠函數(shù)(Item 7)來給我們提供特定Investment對象:

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

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)

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

正如注釋所表述的,當createInvesment返回的對象不再被使用時,調(diào)用者有責任將此對象釋放掉。我們用函數(shù)f來履行這個職責:

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

網(wǎng)友評論