- 博客(29)
- 收藏
- 关注
原创 NULL和nullptr的区别
NULL为宏定义,本质上是整数0在函数调用的过程中,将NULL当成0来使用。nullptrnullptr为空指针,不是对整数0的宏替换。nullptr是指针类型,不是整数0,可以隐式转换为任意指针类型,但不能隐式转换为整数类型。
2024-03-05 16:33:40
163
原创 信号和槽(Qt)
Qt信号和槽机制是一种用于处理事件和通信的重要机制。当一个特定事件发生时,比如用户点击按钮或者数据发生改变,一个对象会发出一个信号,当别的对象接收到这个信号后,执行相应的槽函数。
2024-03-05 11:33:53
1778
原创 C++关键字final,override,=default,=delete
如果用于修饰虚函数,表明该虚函数不能被子类重写。如果用于修饰类,表明该类不能被继承修饰类。
2024-03-01 11:39:19
209
原创 C++统一类成员初始化语法
这样就实现了类成员的初始化,其中member1被初始化为传递进来的参数a,member2被初始化为传递进来的参数b。
2024-02-28 16:59:13
222
1
原创 对this指针的理解(C++)
在类中,每一个普通函数都有this指针。this 指针是一个指向当前对象的指针,它是一个隐式参数,指向当前对象的地址。在类的成员函数中,可以使用 this 指针来访问当前对象的成员变量和成员函数。
2024-02-27 17:02:19
241
1
原创 变量,常量,成员变量,静态成员变量,非静态成员函数,静态成员函数(C++)
使用#define宏定义#define 变量名 值使用这种方式,预处理器会在编译阶段将所有的#define指令的变量名替换成常量值。使用const关键字const 数据类型 变量名=值;使用const关键字,在定义的时候必须进行数据的初始化。变量类型 类名::静态成员变量名=值2.所有该类的对象共享一个静态成员变量的副本。也就是说,当该类的对象修改了静态成员变量的值,那么别的对象访问该静态成员变量为新值。3.静态成员变量只有在程序结束时才销毁。访问方式。
2024-02-26 16:53:50
411
1
原创 C++的三大特性的理解
继承可以用于创建类的层次结构,通过将共性的属性和行为定义在基类中,派生类可以继承这些共性,并添加或修改自己特有的属性和行为。通过虚函数和继承来实现,子类重写父类的虚函数,当通过父类指针或者引用调用虚函数时,调用的是子类的重写函数。注:这种情况下,指向父类的指针,即可以访问父类中定义的成员,也可以调用子类中重写的虚函数。在子类中保持为公有成员,父类的保护成员在子类中为保护成员,父类的私有成员在子类中无法直接访问。子类的对象可以直接访问父类的公有成员和受保护成员,但不能直接访问父类的私有成员。
2024-02-23 13:36:27
1094
原创 对面向对象思想和类,对象的理解(C++)
面向对象编程的核心思想是将现实世界中的事物抽象为对象,对象拥有特定的属性和行为。属性就是成员变量,行为就是方法。
2024-02-20 16:52:20
666
原创 linux常用的基础命令
ls:列出当前路径下的所有目录和文件名ll:列出当前路径下的文件和子目录的详细信息ls -a:列出当前路径下所有文件和子目录,包括以开头的隐藏文件cd:切换路径cd -:将当前工作目录切换回上次所在的目录pwd:显示当前的工作目录mkdir:创建新的目录rm:移除文件或者目录-r表示递归地删除目录及其所有内容,-f表示强制删除,不需要提示用户是否删除cp:复制文件或者目录-r表示递归地复制目录及其所有内容,-f如果目标路径已经存在同名的文件或目录,会直接覆盖。
2024-02-20 15:52:57
1269
原创 对xml和Json的理解
每个属性的值必须使用引号引起来。键和值用双引号包裹, 键值之间使用冒号:来进行分割。键值对与键值对用逗号分隔。一个数组从左中括号 开始, 右中括号结束。数组与数组之间使用逗号分隔。一个对象从左括号开始, 右括号结束。对象与对象之间使用逗号分隔。3.xml必须要有一个根元素,有且只有一个元素,即root。1.xml的所有元素都必须进行闭合,即必须有关闭标签。键是字符串,值可以是字符串、数字、布尔值、数组或对象。json采用键值对的方式来存储数据,其中。2.xml的元素对大小写敏感。1.创建一个JSON对象。
2024-02-19 16:46:33
142
1
原创 关于lambda匿名函数的理解
静态存储:静态存储的变量是全局变量和静态变量,它们的生命周期与程序的运行周期相同,可以在任何函数中使用。获取它所在作用域中的变量,并在后续使用中保持其值和状态,即使这些变量在它所在作用域已经销毁或发生了改变。关于lambda表达式最重要的是它可以定义在函数的内部,简化代码。动态存储:动态存储的变量则是在函数运行时创建,函数结束时销毁。[=]:以传值的方式捕获所有在作用域中可见的变量。[&]:以引用方式捕获所有所在作用域中可见的变量。[&变量名]:以引用方式捕获指定的变量。)在堆内存中创建的变量。
2023-12-15 11:40:43
33
原创 C++的结构体,共用体,枚举
struct 结构体类型名称...xxx注:C++中的结构体也支持继承、多态等特性,因此在实际应用中可以更加灵活地使用结构体来组织数据和行为。例:// 定义基类结构体int age;// 定义派生类结构体union 共用体类型名称...例:共用体联合结构体一起使用int age;unionenum 枚举类型名称枚举值1;枚举值2;枚举值3;...例:创建一个枚举的例子,比如表示编辑的状态edited=1。
2023-12-12 16:36:56
34
1
原创 关于C++和QT的一些取值函数
1.查找一定范围内大于等于某个值的位置需要传递的参数:首地址,尾地址,要比较的数值2.查找一定范围内大于某个值的位置需要传递的参数:首地址,尾地址,要比较的数值注:不管是使用lower_bound()还是upper_bound()都必须保证数据有序排列从数组中找到大于某个值位置例:从容器中找到大于某个值的位置例://返回一个大于或者等于这个值的迭代器//返回一个大于这个值的迭代器。
2023-12-11 15:39:15
666
1
原创 关于qt如何在window下打包文件
注:关于Debug和Release的区别,Debug版本是专门用来调试的,而Release版本是发行版,编译器会进行优化提高执行效率。2.一般来说,如果我们只是开发window平台的软件的时候,我们一般选择的就是。8.自定义编译器输出文件夹,基本文件名,自定义安装程序图标文件,安装密码等。3.自定义打包文件输出地址和名称,也就是我们规定的安装的地址。如果我们是linux,win多平台的话,我们一般选择的就是。6.安装许可文件,安装前文件,安装后显示信息等。2.应用程序的名称,版本,发布者,网址。
2023-03-07 10:44:34
219
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人