习惯一:父子对象的创建顺序
在使用父子关系时,确保父对象在子对象之前被创建是一个良好的编程实践。这可以避免使用尚未初始化的对象作为父对象,从而避免潜在的错误和未定义行为。调整代码的顺序,以确保父对象先于子对象创建,是一种更安全和稳健的做法。
习惯二:利用父子机制
利用 Qt 的父子机制,避免手动删除对象。通过设置 QObject
的父对象,Qt 会自动在父对象销毁时删除其子对象。这减少了内存泄漏和悬挂指针的风险。避免重复删除:不要手动删除由父对象管理的子对象。如果你在构造函数中设置了父对象,Qt 会自动处理子对象的内存管理。
习惯三:利用智能指针
使用 QSharedPointer
和 QScopedPointer,
这些智能指针类提供了自动内存管理,减少了手动内存管理的复杂性。
习惯四:main函数中对象创建
在main函数中创建对象时,尽量创建在栈上
习惯五:一个类使用另一个类
一个类A中想使用另一个类B时,可以将类B作为类A的成员变量,初始化时创建在栈上,最好在初始化时指定其父对象