Qt中的QVector具有比普通指针数组更多的优势,其中之一便是可以自动释放内存,而无需使用delete手动释放。在实际开发中,我们经常需要在QVector中存...

187 篇文章 ¥299.90 ¥399.90
182 篇文章 ¥299.90 ¥399.90

Qt中的QVector具有比普通指针数组更多的优势,其中之一便是可以自动释放内存,而无需使用delete手动释放。在实际开发中,我们经常需要在QVector中存储指向动态分配内存的指针。由于QVector并不会自动释放指针所指向的对象内存,因此需要手动释放。本文将涉及如何循环删除QVector中的指针,并给出完整的源代码和相应的描述。

首先,我们创建一个QVector存储指向动态分配内存的指针:

QVector<int*> ptrs;

接下来,我们填充该QVector对象:

for(int i=0; i<10; i++){
    int* ptr = new int(i);
    ptrs.append(ptr);
}

现在,ptrs中存储了10个指向动态分配内存的int型指针。由于QVector不会自动释放这些指针所指向的内存,所以我们需要手动释放。

首先,我们可以使用QVector::size()函数获取QVector中存储的指针数量。然后,使用QVector::at()函数获取每个指针,并使用delete删除该指针所指向的内存:

for(int i=0; i<ptrs.size(); i++){
    int* ptr = ptrs.at(i);
    delete ptr;
    ptr = nullptr;
}

上述代码循环遍历QVe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值