From eb0256a057c3aa03eca9726f7e6e36f1a80c0345 Mon Sep 17 00:00:00 2001 From: xuetao <xuetao@ng3d.com> Date: 星期二, 20 五月 2025 13:52:48 +0800 Subject: [PATCH] 修改了错误示例 --- Test/errorexample.cpp | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Test/errorexample.cpp b/Test/errorexample.cpp index 0cd7a52..22ebbbf 100644 --- a/Test/errorexample.cpp +++ b/Test/errorexample.cpp @@ -17,7 +17,7 @@ //解决办法: QWidget *widget1 = nullptr; - if (widget1) { //使用指针前,先确认其是否为nullptr + if (widget1) { //使用指针前,先确认其是否为nullptr//这种判断方式正确吗?byxue widget1->show(); } @@ -35,11 +35,11 @@ widget3 = nullptr; //避免野指针 //③内存泄露:未释放动态分配的内存 - void createLeak() { + void createLeak() {//这种方法的定义方式就有问题,不能在方法里再定义方法,建议把内存泄露专门写一个测试文件 int *ptr = new int(10); //分配后未释放 } //解决办法: - void createLeak() { + void createLeak() {//这种方法的定义方式就有问题,不能在方法里再定义方法 int *ptr = new int(10); //分配后未释放 delete ptr; ptr = nullptr; @@ -60,7 +60,7 @@ //混合使用父对象和智能指针 QWidget *parent3 = new QWidget; // 错误:父对象已管理 button,智能指针会导致双重释放 - std::unique_ptr<QPushButton> button3(new QPushButton(parent)); + std::unique_ptr<QPushButton> button3(new QPushButton(parent));//智能指针的使用有问题 //解决办法1:仅用父对象管理 QWidget *parent4 = new QWidget; -- Gitblit v1.9.1