避免使用所有其他指针,如weak_ptr或raw指针,因为在大多数情况下,它们可以被unique_ptr/shared_ptr替换。然而,显然也有例外,例如,所有QT应用程序都建议使用原始指针来管理UI组件。
STL 中的其它指针 share_ptr 带有引用计数机制,支持多个指针对象指向同一片内存空间 weak_ptr 配合shared_ptr 而引入的一种智能指针 unique_ptr 一个指针对象指向一片内存空间,不能拷贝构造和赋值 Qt 中的智能指针 QPointer 当其指向的对象被销毁时,他会被自动置空(防止内存多次释放) 析构时不会自动销毁所指向的...
智能指针是一种自动管理内存的机制。它可以在对象不再被引用时自动释放相关的内存,避免了内存泄漏和其他问题。 24. 什么是堆和栈? 堆和栈是两种内存分配的方式。栈是一种静态内存分配方式,用于存储局部变量和函数调用信息等。堆是一种动态内存分配方式,用于存储动态分配的变量和对象等。 25. C++中的文件操作是什么...
0级指针到N级指针技术推演;理解指针必须和内存分区概念相结合;应用指针必须和函数调用相结合,指针的输...
C17.8 操作符重载_智能指针 52:13 C17.9 操作符重载_智能指针的实现 38:47 C17.10 操作符重载_下标操作符 09:48 C17.11 操作符重载_类型转换操作符函数.mp4 08:31 C18.1 多态_早绑定 27:46 C18.2 多态_虚函数及晚绑定 09:53 C18.3 多态_晚绑定原理 ...
智能指针:掌握unique_ptr和shared_ptr的用法,理解它们对动态分配内存的管理机制。 模板与STL:熟悉模板函数和模板类的使用,以及标准模板库(STL)中的容器(如vector、list、map等)、算法和迭代器。 3. 数据库操作 数据库连接与管理:使用Qt SQL模块(如QSqlDatabase)连接和管理数据库。
建议:C++代码代码中多注意使用智能指针 2 不要使用野指针 野指针也叫悬挂指针,是指向“垃圾”内存的指针,使用“野指针”会让程序出现不确定的行为。 注意,野指针不是NULL指针, 它比NULL指针更容易犯错,因为它不能通过形如 if (NULL == p)的判断语句来预防,只能我们自己在写代码时多注意。 指针p被free或者del...
Qt/C/C++工程推荐使用下面代码规范: 代码采用C/C++11标准,尽量使用智能指针,尽量不使用裸指针(QT中可以使用QScopedPointer) 函数和变量命名使用骆...
C:\Qt\Qt5.14.2\5.14.2\msvc2015_64\include\QtCore\qscopedpointer.h:57: error: C2118: 负下标 点击错误,定位到了下面的内容: 翻一下:执行完整类型,如果你在这里遇到编译错误,请阅读forward声明一节,QScopedPointer文档中的类。 QScopedPointer QScopedPointer和C++中的智能指针std::unique_ptr其概念是一样的,...
1. Qt Creator的调试工具 Qt Creator 集成了调试器,可以帮助开发者在 C++ 和 QML 代码中设置断点、查看变量值、跟踪调用栈等,简化调试过程。2. 性能优化 内存管理:尽管 Qt 提供了智能指针等工具,但开发者仍需注意对象生命周期的管理,避免内存泄漏。UI优化:对于图形界面,使用 QPainter 和 QGraphicsView 时...