- 博客(11)
- 收藏
- 关注
原创 QWidget没有虚析构函数,为什么还能作为基类
在 C++ 中,当通过基类的指针删除派生类的对象时,将调用基类的析构函数,而不是派生类的析构函数。如果基类具有非虚析构函数,这可能导致内存泄漏或其他问题,因为派生类分配的资源可能无法正确清理。为避免此问题,建议将基类的析构函数设置为虚析构函数,以便在删除对象时调用正确的析构函数。这样可以确保派生类的资源将得到正确清理。因此,可以使用 QWidget 作为基类,但是需要注意潜在的问题,并遵循 Qt 提供的指南。QWidget 没有虚析构函数,如果它作为一个类的基类,可能会导致问题。
2023-02-12 15:51:29 271
原创 for中的表达式省略规范
for后面带的三个表达式均可以省略,省略第一个表达式的时候要注意在for之前先赋值,不然会报错,省略其他表达式的时候也要注意,不然容易陷入死循环。for (表达式1;
2023-02-07 20:02:18 1389
原创 list容器
是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表上的指针链接实现的。优点:可以对任意位置进行快速插入或删除元素;采用动态存储分配,不会造成内存浪费和溢出。结点的组成:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。缺点:容器遍历速度没有数组快;占用空间比数组大,大出了一倍。链表的组成:链表由一系列结点组成。
2023-02-02 20:19:36 61
原创 对于++和--运算符,由于涉及前置运算和和后置运算,在重载这类运算符时如何区分呢?默认情况下,如果重载运算符没有参数,则表示前置运算。
对于++和--运算符,由于涉及前置运算和和后置运算,在重载这类运算符时如何区分呢?默认情况下,如果重载运算符没有参数,则表示前置运算。
2023-01-31 19:27:35 76
原创 静态成员函数说明
声明:将成员函数声明为静态的,函数声明必须包含static关键字。如果函数定义是独立的,则其中不能包含关键字static(全局函数)。定义:实现静态成员函数时,不需要包含static关键字。1. 静态函数的声明与实现。
2023-01-29 14:37:46 68
原创 前置声明是纯粹的说明,没有伴随着其定义
头文件中如果只需要用到某个类的指针而不需要用到类的对象,可以只声明该类而不用include。但在cpp实现文件里面需要include类的。前置声明是纯粹的说明,没有伴随着其定义。
2023-01-29 11:35:32 39
原创 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 146
原创 void Q_ASSERT(bool test)是Qt断言函数,当表达式为1时,会往下执行后面的语句;为0时,程序会报错并终止执行
void Q_ASSERT(bool test)是Qt断言函数,当表达式为1时,会往下执行后面的语句;为0时,程序会报错并终止执行。
2023-01-29 11:22:46 114
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人