自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 C++中*和++联合使用的优先级

/由于(p++)是一个后置递增运算符,所以也是在表达式*(p++)先*p结束后再++ 后置递增递增一定是在表达式结束后再操作 与前置递增相反。//先* 表达式 *p++ 结束后再++ 意思当输出*p++时会先输出*p再++ 后面再输出*p时就是++后的值。//6.*(p++)等同于*p++ 先* 再++ 在*(p++)表达式中,虽然()的优先级比*更高,//先*p 后++ p指向改变 当前未改变数组数据 p->arr[3]//3.++(*p)同1.++*p。

2024-02-15 18:54:23 152 1

原创 怎么在函数体内对外部指针进行赋值?

/ //无法改变指针的值(也就是指针的指向),只能改变指针指向的值,// //因为p原本指向NULL,所以这里*p没有输出任何内容。//想要改变指针的指向,就需要传入指针的地址,对其地址进行操作就能改变。

2024-02-02 16:32:57 163

原创 typedef void(*PRINTNODE)(LinkNode*);void Print_LinkList(LinkList*list, PRINTNODE print);函数指针可以实例化?

函数指针可以实例化。在C++中,可以使用typedef关键字来定义函数指针类型,并且可以通过声明一个函数指针变量来实例化函数指针。运行以上代码,将会输出LinkList中每个LinkNode的值。

2024-01-24 15:30:38 285

原创 Qt函数之一:QFileDialog::getOpenFileNames笔记

通过使用QUrl对象,可以轻松地获取URL的各个部分,如协议、主机、路径、查询参数等。同时,QUrl还提供了一些方法来处理URL的编码和解码,以及处理相对路径和绝对路径之间的转换。这样做的目的是为了实现选择多个音乐文件并将其添加到播放列表中,以便后续播放音乐。该函数的参数依次为:父窗口指针、对话框标题、默认打开的文件夹路径、文件过滤器。这段代码是用来选择音乐文件并将其添加到播放列表中的。然后,通过一个循环遍历选择的音乐文件列表,将每个文件的路径转换为。选择的音乐文件会以字符串列表的形式返回。

2024-01-17 10:48:37 586

原创 QFileDialog::getOpenFileName(this, “添加文件“, “/“, ““);第三个参数“/”的理解

3.请注意,根据具体的需求,你可以根据自己的需要将第三个参数设置为其他目录的路径,以便在打开文件对话框时默认显示该目录中的文件和文件夹。1.此例子中,第三个参数为"/",表示将默认目录设置为根目录。这意味着当打开文件对话框时,对话框将默认显示根目录中的文件和文件夹。QFileDialog::getOpenFileName函数是一个用于打开文件对话框并返回所选文件路径的函数。该函数的第三个参数是一个字符串,用于指定对话框打开时的默认目录。这意味着当打开文件对话框时,对话框将默认显示当前目录中的文件。

2024-01-16 21:23:36 492 1

原创 C++中如何理解这段代码setText(QString(“%1:%2“).arg(position/1000/60,2,10,QChar(‘0‘))

所以,这段代码的作用是将position/1000/60的值插入到"%1:%2"的占位符位置,并将结果设置为文本框的内容。这段代码是用来设置文本框的内容,内容是一个时间格式的字符串。在这里,"%1:%2"是一个格式化字符串,其中%1和%2是两个占位符。position/1000/60是一个表达式,用来计算时间的分钟部分。这段代码使用了QString类的arg()函数来格式化字符串。arg()函数的作用是将参数插入到字符串中的占位符位置。2表示插入的数字占据两个字符的宽度,10表示使用十进制表示数字,

2024-01-14 11:15:09 340 1

原创 A(int a,int b) : m_iA(a), m_iB(b) {}这种表达怎么理解

构造函数的定义使用了初始化列表(initialization list),通过冒号(:)后面跟着成员变量的初始化方式来初始化成员变量。在这个例子中,m_iA和m_iB是类A的成员变量,通过初始化列表分别用参数a和b来初始化。构造函数的名称与类的名称相同,并且在创建对象时自动调用。在这个例子中,构造函数的名称是A,它有两个参数a和b,分别用于初始化类的成员变量m_iA和m_iB。这种方式可以在对象创建时直接对成员变量进行初始化,而不需要在构造函数的函数体中再进行赋值操作。// 下列输出均为5 3。

2024-01-11 17:16:42 504 1

原创 为什么超过了变量作用范围会导致野指针

超过变量作用范围会导致野指针的原因是,当一个变量的作用范围结束时,它所占用的内存空间会被释放,但指向该内存空间的指针仍然存在。在C++中,当一个函数返回一个指向局部变量的指针时,这个指针就成为了野指针。但是返回的指针仍然指向这块已经释放的内存空间,这就是野指针的产生原因。为了解决这个问题,我们可以避免使用指向局部变量的指针,而是使用其他方法来存储数据,如使用动态内存分配、全局变量或静态变量。,然后尝试输出该指针的值。由于指针指向的内存已经超出了作用范围,访问该指针将导致未定义的行为,可能输出随机值或崩溃。

2024-01-06 20:26:36 334 1

原创 栈的大小通常是1M-2M,所以栈溢出包含两种情况,一是分配的的大小超过栈的最大值,二是分配的大小没有超过最大值,但是接收的buf比原buf小,buf什么意思

栈溢出是指在程序执行过程中,当向栈中分配的空间超过栈的最大容量时,会导致栈溢出错误。栈的大小通常是1M-2M,具体取决于操作系统和编译器的设置。因此,buf在这里指的是一个缓冲区,用于存储数据。在栈溢出的情况下,buf可能是一个局部变量数组或者一个用于接收输入数据的缓冲区。

2024-01-06 18:33:24 363 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除