gpt4 book ai didi

c++ - 这是编写析构函数的正确方法吗?

转载 作者:行者123 更新时间:2023-11-28 00:57:34 24 4
gpt4 key购买 nike

除了很多成员函数外,我的 Graph 类还有 3 个主要成员:一个指向其顶点的指针 vector ,称为“vertex”,一个指向其边的指针 vector ,称为“edge”,以及一个整数计数器变量。我开始/试图编写析构函数以从 vector 中释放内存,但我不确定我是否正确地执行了它。我该怎么办柜台?我试着说“删除计数器”,但它不是指针(哎呀)。

Graph<Object,Weight>::~Graph(){
for(unsigned int i=0; i<vertex.size(); ++i){
delete vertex[i]; }
for(unsigned int j=0; j<edge.size(); ++j){
delete edge[j]; }

//counter?
}

最佳答案

删除取决于你分配的方式,见The difference between delete and delete [] in C++

至于你的 int 成员,因为你没有动态分配它(你没有使用 new)你不必删除它。

关于c++ - 这是编写析构函数的正确方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10269470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com