qt 的qma高效率删除容器内所有指针内容
时间: 2023-08-10 16:39:40 浏览: 195
qma6981规格书
在 Qt 的容器中存储指针时,需要手动释放指针所指向的内存空间,否则会导致内存泄漏。下面介绍两种删除容器内所有指针内容的方法,可以提高删除效率。
方法一:使用 qDeleteAll 函数
qDeleteAll 函数可以删除容器内所有指针的内容,使用起来非常方便。示例代码如下:
```cpp
QList<QObject*> objList;
// 添加 QObject 对象指针到 objList 中
qDeleteAll(objList.begin(), objList.end());
```
方法二:手动遍历容器删除指针内容
手动遍历容器删除指针内容的方法可以灵活控制删除过程,但是需要手动编写删除代码。示例代码如下:
```cpp
QList<QObject*> objList;
// 添加 QObject 对象指针到 objList 中
foreach (QObject* obj, objList) {
delete obj;
}
objList.clear();
```
注意:在删除容器内的指针时,需要将容器中的指针清空,避免出现悬空指针。
阅读全文