首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

这样的结构,怎么写他的析构函数呢

2012-04-03 
这样的结构,如何写他的析构函数呢?structcat_tbl{inttable_idintcat_idintversion_numberintindicator

这样的结构,如何写他的析构函数呢?
struct   cat_tbl   {
int                                           table_id;
int                                           cat_id;
int                                           version_number;
int                                           indicator;
               
                vector <struct   TooCat*>   too_cat;
};

struct   TooCat{
int                                           tr_id;
int                                           or_id;

}



[解决办法]
噢,没认真看第一个结构还有个指针,若指针不是空指针,那就析构时释放指针指向的内存
[解决办法]
struct cat_tbl {
~cat_tbl();

int table_id;
int cat_id;
int version_number;
int indicator;

vector <struct TooCat*> too_cat;

};

cat_tbl::~cat_tbl()
{
for (int i=0; i <too_cat.size(); ++i) delete too_cat[i];
}

[解决办法]
这个结构体而言,析构函数无需的写出来,至于存放指针的vector
你的指针处理的需交给vector处理,这样符合逻辑

热点排行