读书人

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

发布时间: 2012-04-03 12:38:19 作者: rapoo

这样的结构,如何写他的析构函数呢?
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处理,这样符合逻辑

读书人网 >C++

热点推荐