C++专栏
C++是一个以训练为主的事情,所以以基础为主,敲打也不能放弃!
爱吃糖的小秦同学
假如人没有理想,那么和咸鱼有什么区别
展开
-
保存的链接
Qt里源文件Resource:https://blog.csdn.net/guuuuug/article/details/121409110。Qt布局改大小:https://blog.csdn.net/cheryl88/article/details/108734392。qt另存为问题:https://blog.csdn.net/iamplane/article/details/78283701。Windows系统Git安装教程(详解Git安装过程) - 学为所用 - 博客园 (cnblogs.com)原创 2024-04-19 13:57:00 · 293 阅读 · 0 评论 -
解析json方案
解析json方案,方便查阅原创 2023-01-10 15:36:39 · 96 阅读 · 0 评论 -
C++工作使用技巧(概念篇)_持续更新ing
21毕业生从事C++行业,日常总结基础知识欢迎大家提供建议原创 2021-11-29 10:57:58 · 428 阅读 · 0 评论 -
C++中指针常量和常量指针的区别(清晰明了)
在C++学习使用过程中,每个人都不可避免地使用指针,而且都或多或少的接触过常量指针或指针常量,但是对这两个的概念还是很容易搞糊涂的。本文即是简单描述指针常量和常量指针的区别。常量指针定义: 又叫常指针,可以理解为常量的指针,也即这个是指针,但指向的是个常量,这个常量是指针的值(地址),而不是地址指向的值。关键点:1.常量指针指向的对象不能通过这个指针来修改,可是仍然可以通过原来的声明修改;2.常量指针可以被赋值为变量的地址,之所以叫常量指针,是限制了通过这个指针修改变量的值;3.原创 2022-01-16 15:53:44 · 161 阅读 · 0 评论 -
__declspec,__cdecl,__stdcall,__cplusplus区别和作用
当加在输出函数前的关键字与编译 环境中的选择不同时,直接加在输出函数前的关键字有效。__fastcall约定将函数的从左边开始的两个 大小不大于4个字节(DWORD)的参数分别放在ECX和EDX寄存器,其余的参数仍旧自右向左压栈传送,被调用的函数在返回前清理传送参数的堆栈。因此,为了使其它语言编写的模块(如Visual Basic应用程序、Pascal或Fortran的应用程序等)可以调用C/C++编写的DLL的函数,必须使用正确的调用约定来导出函数,并且不要让编译器对要导出的函数进行任何名称修饰。原创 2022-08-20 15:11:26 · 198 阅读 · 0 评论 -
串口封装(学习)
【代码】串口封装(学习)原创 2022-09-21 15:13:12 · 305 阅读 · 0 评论 -
C++静态库与动态库以及Windows上的创建以及使用
库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a 或 .lib)和动态库(.so 或 .dll)。所谓静态、动态是指链接。之所以成为【静态库】,是因为在链接阶段,会将汇编生成的目标文件 .o 与引用到的库一起链接打包到可执行文件中。因此对应的链接方式称为静态链接。...原创 2022-08-20 14:40:22 · 1389 阅读 · 0 评论 -
C/C++ 函数的定义 声明 调用的区别
返回类型 函数名称(参数) {函数体 }在 C 语言中,函数由一个函数头和一个函数主体组成。下面列出一个函数的所有组成部分:返回类型:一个函数可以返回一个值。return_type 是函数返回的值的数据类型。有些函数执行所需的操作而不返回值,在这种情况下,return_type 是关键字 void。函数名称:这是函数的实际名称。函数名和参数列表一起构成了函数签名。参数:参数就像是占位符。当函数被调用时,您向参数传递一个值,这个值被称为实际参数。参数列表包括函数参数的类型、顺序、数量。原创 2022-08-21 17:47:40 · 2170 阅读 · 0 评论 -
总结一(持续更新)
(5)在调用子类构造函数时,需要先调用父类构造函数,若父类构造函数引用了成员变量且在子类中也有相同名字的成员变量,则父类构造方法中引用的该成员变量为父类的成员变量。但若父类构造函数中引用了某一方法,且该方法在子类中被重写,则会去执行子类的这个方法,若在这个方法中引用了与父类中相同名字的成员变量,则该成员变量直接被替换为子类中的该成员变量,而此时子类还未初始化,就会引起该值为空的现象,这时若想引用父类该成员变量,需要使用super.,看下面这个例子就知道了。这样的方法调用在编译期是无法确定的。原创 2022-08-21 16:55:20 · 110 阅读 · 0 评论 -
动态库静态库的区别
动态库往往是提供两个文件,一个是引入库文件(.lib)和一个DLL(.dll)文件,但是引入库文件(.lib)只是包含DLL文件的导出函数以及函数的变量名符号,而DLL文件里包含了所有的函数以及数据,假如调用动态库是在编译到可执行程序的时候才会调用没有数据以及函数的复制,所以在发产品的时候需要加上相应的动态库。而后者是局部的,虽节省了内存,但会增加调用时间。第一种是静态链接方式,在这种方式下,动态链接库中的所有数据代码都将拷贝到调用程序的代码空间中去,此时它和调用程序本身的函数没有什么区别;原创 2022-08-21 15:43:16 · 5214 阅读 · 0 评论 -
C++中的.和:以及::还有->的区别
1、A.B则A为对象或者结构体;2、A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;3、::是作用域运算符,A::B表示作用域A中的名称B,A可以是名字空间、类、结构;4、:一般用来表示继承。...原创 2022-04-13 14:49:33 · 586 阅读 · 0 评论 -
关于 const char* p , char const* p 以及 char * const p
分析方法:从右至左读,看const离哪个近就修饰哪个const char* p ==> p是一个指向char类型常量的指针(指针常量),p自身可变,但p指向地址的内容不可变,即*p是不可变的;所以p++是正确的,但p[0]='a'是错误的,因为p[0]试图改变p指针指向的内容。char const* p 由于c/c++中没有const*这种运算符,所以它只能属于前面的类型,c++标准规定,const关键字放在类型或变量名之前是等价的,所以char const* p == const char原创 2022-03-06 12:55:19 · 480 阅读 · 0 评论 -
重载和重写的区别
重载实现与一个类 ,重写实现于子类中,重载要求方法名相同 参数 数量以及类型不完全相同,重写方法名相同 参数数量类 型完全相同,重载返回值必须相同,否则不构成重载,重写返回值无关,重载是静态多态,重写是动态多态。都是多态的体现 。oop 三大特征 :封装 继承 多态==》重载 重写 抽象...原创 2022-01-16 17:43:49 · 102 阅读 · 0 评论 -
隐藏tab标签完美解决办法
隐藏第一页:ui->tabWidget->setTabEnabled(0, false);ui->tabWidget->setStyleSheet(“QTabBar::tab:disabled {width: 0; color: transparent;}”);显示第一页:ui->tabWidget->setTabEnabled(0, true);ui->tabWidget->setStyleSheet(“QTabBar::tab:disabled原创 2021-12-20 19:51:13 · 637 阅读 · 0 评论 -
const和static之间的区别
注:本总结只是针对于自己复习,假如有错误请指示static :(1) 修饰全局变量:变量只在本模块内可见,在定义不需要与其他文件共享的全局变量时,加上 static 关键字能够有效地降低程序模块之间的耦合,避免不同文件同名变量的冲突,且不会误使用。(2) 修饰局部变量:变量在全局数据区分配内存空间,编译器自动对其初始化,其作用域为局部作用域,当定义它的函数结束时,其作用域随之结束。(3) 修饰函数:函数的使用方式与全局变量类似,在函数的返回类型前加上 static,就是静态函数,静态函数只能在声明它原创 2021-12-19 18:42:50 · 346 阅读 · 0 评论