随笔
柏仙人
这个作者很懒,什么都没留下…
展开
-
QWidget没有虚析构函数,为什么还能作为基类
在 C++ 中,当通过基类的指针删除派生类的对象时,将调用基类的析构函数,而不是派生类的析构函数。如果基类具有非虚析构函数,这可能导致内存泄漏或其他问题,因为派生类分配的资源可能无法正确清理。为避免此问题,建议将基类的析构函数设置为虚析构函数,以便在删除对象时调用正确的析构函数。这样可以确保派生类的资源将得到正确清理。因此,可以使用 QWidget 作为基类,但是需要注意潜在的问题,并遵循 Qt 提供的指南。QWidget 没有虚析构函数,如果它作为一个类的基类,可能会导致问题。原创 2023-02-12 15:51:29 · 260 阅读 · 0 评论 -
Q_OBJECT的一点注意事项
不管是直接继承还是间接继承,都需要在代码的第一行写Q_OBJECT。原创 2023-02-07 20:24:32 · 77 阅读 · 0 评论 -
for中的表达式省略规范
for后面带的三个表达式均可以省略,省略第一个表达式的时候要注意在for之前先赋值,不然会报错,省略其他表达式的时候也要注意,不然容易陷入死循环。for (表达式1;原创 2023-02-07 20:02:18 · 1372 阅读 · 0 评论 -
list容器
是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表上的指针链接实现的。优点:可以对任意位置进行快速插入或删除元素;采用动态存储分配,不会造成内存浪费和溢出。结点的组成:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。缺点:容器遍历速度没有数组快;占用空间比数组大,大出了一倍。链表的组成:链表由一系列结点组成。原创 2023-02-02 20:19:36 · 60 阅读 · 0 评论 -
对于++和--运算符,由于涉及前置运算和和后置运算,在重载这类运算符时如何区分呢?默认情况下,如果重载运算符没有参数,则表示前置运算。
对于++和--运算符,由于涉及前置运算和和后置运算,在重载这类运算符时如何区分呢?默认情况下,如果重载运算符没有参数,则表示前置运算。原创 2023-01-31 19:27:35 · 69 阅读 · 0 评论 -
静态成员函数说明
声明:将成员函数声明为静态的,函数声明必须包含static关键字。如果函数定义是独立的,则其中不能包含关键字static(全局函数)。定义:实现静态成员函数时,不需要包含static关键字。1. 静态函数的声明与实现。原创 2023-01-29 14:37:46 · 65 阅读 · 0 评论 -
new之后没有delete会造成内存泄漏
new之后没有delete会造成内存泄漏。原创 2023-01-29 14:06:45 · 696 阅读 · 0 评论 -
QString::number(a,‘f‘,2) 其中a为flaot(理论上a是什么类型不重要)上述式子表示将浮点数a先保留两位小数,再转化为QString类型
QString::number(a,'f',2) 其中a为flaot(理论上a是什么类型不重要)上述式子表示将浮点数a先保留两位小数,再转化为QString类型。原创 2023-01-29 11:25:47 · 131 阅读 · 0 评论 -
void Q_ASSERT(bool test)是Qt断言函数,当表达式为1时,会往下执行后面的语句;为0时,程序会报错并终止执行
void Q_ASSERT(bool test)是Qt断言函数,当表达式为1时,会往下执行后面的语句;为0时,程序会报错并终止执行。原创 2023-01-29 11:22:46 · 109 阅读 · 0 评论 -
!=用于判断两边是否不相等
随笔原创 2023-01-29 11:14:05 · 64 阅读 · 0 评论