以我的頭文件我聲明類的範圍內的變量:
FaultModel<double> *fm_req_set_odom_px;
。 ..在類構造函數中有條件地初始化,具體取決於配置文件的值:
const char *configModel = ConfigReader->ReadString("FaultModel");
if (strcmp(configModel, "cyclic") == 0)
fm_req_set_odom_px = new CyclicFaultModel<double>();
我的問題是:我需要換一個有條件的刪除檢查,如果模型初始化或者沒有,或者它安全刪除它在任何情況下?
if (fm_req_set_odom_px != NULL) // Is this necessary?
delete fm_req_set_odom_px;
@Kerrek SB,您可以更多地瞭解管理容器的資源。並不是每個人都已經熟悉C++ 11,並且使用Google搜索這並不能真正給出結果 – KillianDS
@KillianDS:他們與C++ 0x無關;智能指針和容器已經成爲C++庫的一部分,因爲在有標準之前,使用它們的建議不是試圖手動管理資源(這總是容易出錯,並且在出現異常時通常是不可能的)在過去的十年或兩年內普遍存在。 –
好吧,對我而言,你的意思並不清楚,你的意思是聰明的指針等等)。 – KillianDS