- 博客(38)
- 收藏
- 关注
原创 c++ primer 阅读手记 第七章
不属于类的任何对象,也就不是创建类的对象时被定义初始化的,也就不是由类的构造函数初始化的。3、编译器分两步处理类:首先编译成员的声明,然后才是成员的函数体(如果有)。不与任何对象绑定,故没有this指针,进而静态成员函数不能声明成const的,函数体内不能使用this指针。4、一般来说,如果非成员函数是类接口的组成部分,则这些函数的声明应该与类在同一个头文件内。9、友元:非类的成员函数若要访问类的private成员,则需要成为类的友元;常量成员函数不会修改类的成员变量,也不能调用任何非常量成员函数;
2025-03-31 22:02:19
411
原创 c++ primer 阅读手记 第六章
函数的返回值类型及所有形参类型都是字面值类型,函数体有且只有一条return语句。返回一个值的方式和初始化一个变量或形参的方式完全一样:返回的值用于初始化调用点的一个临时量,该临时量就是函数调用的结果。如果局部静态变量没有显示的初始化,它将执行值初始化,内置类型的局部静态变量初始化为0。1、函数返回类型:不能是数组类型或函数类型,但可以是指向数组或函数的指针。指向不同函数类型的指针不存在转换规则,函数类型不匹配不可指向;函数的类型由它的返回类型和形参类型共同决定,与函数名无关。
2025-03-27 23:02:35
327
原创 c++ primer 阅读手记 第五章
2、switch:case关键字和它对应的值一起被称为case标签,case标签必须是整型常量表达式,任何两个case标签的值不能相同,default也是一种特殊的case标签。4、跳转语句,C++提供4种:break、continue、goto(不建议使用)、return。1、就C++而言,它规定else与离它最近的尚未匹配的if匹配,但可通过花括号控制执行路径;switch内部的变量定义:不要跨case标签定义并使用变量。3、迭代语句通常成为循环:while、for、do while。
2025-03-26 19:51:57
124
原创 c++ primer 阅读手记 第四章
假设p的类型是int*,因为解引用运算符生成左值,所以decltype(*p)的结果是int&。因为取地址运算符生成右值,所以decltype(&p)的结果是int **,指向整型指针的指针。如果表达式的求值结果是左值,decltype作用于该表达式(不是变量)得到一个引用类型。ptr->mem 等价于 (*ptr).mem,所以指针访问成员使用箭头运算符(->)。^:位异或,同为0或1,结果为0,不同时为1。建议:除非必要,否则不用递增递减运算符的后置版本。7、移位运算符(又叫IO运算符)
2025-03-26 16:57:14
164
原创 c++ primer 阅读手记 第三章
应该尽量使用string,避免使用C风格的基于数组的字符串。早期版本的C++标准中,如果vector的元素还是vector(或其他模板类型),其定义形式与现在的C++11新标准略有不同。b.对应位置的字符不一致,两个string对象比较的结果其实是两者第一个相异字符的比较结果(依照字典顺序,大小写敏感);任何可能改变vector对象容量的操作,都会使vector对象的迭代器失效;a.长度不一致时,短的与长的对应位置上的字符相同,则短的小于长的;迭代器的运算:两个迭代器相减的结果是它们之间的距离,有正负;
2025-03-25 20:33:35
364
原创 c++ primer 阅读手记 第一、二章
6、引用:为对象起的另一个名字(注意使用decltype时会有例外)。右值引用:第471页。2、以0开头的整 数代表八进制数,以0x或0X开头的代表十六进制数。变量能且只能被定义一次,但可以被多次声明。1、注释 /* */ 不可嵌套;10、auto与decltype结合使用。8、const限定符与指针、引用的结合。7、留意void*指针,暂未使用过。9、constexpr定义指针的使用。顶层const、底层const。4、变量声明和定义的关系。
2025-03-23 00:23:36
157
原创 systemd服务管理开机运行shell脚本
在bashrc或profile文件中添加shell命令,开机可以运行,但SSH远程或打开终端也会运行。1、/etc/systemd/system/目录下新建文件myscript.service;利用systemd服务管理可实现只在开机时运行一次。5、重启电脑测试,本方法不可启动qt界面程序;3、配置并启动服务,此时便会执行一次脚本。查看脚本文件夹是否生成test.log。
2025-03-19 17:14:23
144
原创 cmake结合qt开发界面程序实例
在使用 CMake 构建 Qt 界面应用程序时,你需要设置 CMakeLists.txt 文件来指定项目配置、源文件、库依赖等。以下是一个简单的示例,展示了如何创建一个包含 Qt 界面(使用 QWidget)的 Qt 项目,并使用 CMake 进行构建。
2025-03-18 11:48:57
304
原创 ubuntu qt工程打包后续:桌面快捷方式、开机登陆桌面后自动运行
编辑/etc/profile文件在结尾出添加程序依赖的第三方库路径重启电脑。
2025-03-18 11:21:21
495
原创 ubuntu中的环境变量文件 bashrc、profile、environment简要总结
profile先于bashrc执行,无特殊需求则不用重复配置,在bashrc中可覆盖profile的配置;通过SSH启动Bash shell或登陆进入桌面时,profile会自动执行;当打开新的终端或启动Bash shell时,bashrc会自动执行;source:用法: source 文件名 [参数];只包含环境变量的声明,不支持脚本或命令执行;source命令仅对当前shell生效;支持环境变量的声明、脚本或命令执行;支持环境变量的声明、脚本或命令执行;所有环境变量在系统启动时加载;
2025-03-17 18:59:04
315
原创 ubuntu linuxdeployqt 打包 第三方root库 qt可执行文件
linuxdeployqt打包qt程序使用release可执行程序,本次是对另一篇linuxdeployqt的帖子的补充。解决的问题:因第三方库的问题,导致命令行可以启动程序,但双击不能正常运行。1、选择release模式。qt编译生成可执行程序。第三方root库配置。
2024-12-05 13:53:40
316
原创 QCustomplot类使用简介
链接 官网下载1.解压后将.cpp和.h文件添加之项目工程内;3.新建Widget控件,命名为:widget_plot4.初始化控件//.h文件内容//cpp文件内容//创建布局//设置基本坐标轴(左侧Y轴和下方X轴)可拖动、可缩放、曲线可选、legend可选、设置伸缩比例,使所有图例可见//画曲线//插入文本countText->setText("信号总数:");//绘图j < 400;j++)//文本显示。
2024-07-18 15:03:33
173
原创 ubuntu日记
ubuntu18使用命令 sudo apt install g++ 默认安装的版本为:7。3.ubuntu18安装高版本的python3。2.ubuntu18安装高版本的cmake。1.ubuntu18安装g++ 11。
2024-06-23 10:44:33
327
原创 ubuntu快照恢复系统安装
利用快照可以进行系统备份,当系统内核更新或其他因素导致系统环境发生变化时,较为快速地恢复至原来的状态;在安装ubuntu系统时,选择手动分区的方式设置分区格式与大小一共四个分区:btrfs格式的 / 分区(100G):系统文件分区,格式一定选择btrfs,快照需求swap分区(10G):自行百度ext4的/home分区(最大):用户文件分区,尽量大efi分区(500M):自行百度然后安装系统,并配置环境,快照配置在之后完成;
2023-11-30 22:38:16
3116
原创 CMakeLists.txt编写记录
CMakeLists.txt所在目录的上一级目录: 使用get_filename_component()获取。${CMAKE_CURRENT_SOURCE_DIR} : CMakeLists.txt所在目录;
2023-11-13 22:40:37
219
原创 Qt简单界面程序开发记录
pb = new QPushButton(QString::asprintf(“历史%d”,991),ui->scrollAreaWidgetContents_valveButtons);key使用中文乱码,暂未解决:方法一、 configIniRead->setIniCodec(QTextCodec::codecForName(“utf-8”));if(“btn_AddTab” == btn->objectName())//不想删除某个。//参数1-显示图像的Label,参数2-要显示的Mat。
2023-10-04 22:46:49
149
原创 win10 cmake 编译 opencv3.4.16报错记录
去掉 WITH_CUDA 和 BUILD_opencv_ts 两项。CMake勾选:WITH_OPENGL和WITH_QT两项。编辑ffmpeg.cmake文件,添加代理。别的不记得了,只记得这些。
2023-05-11 19:16:48
289
原创 E: Unable to lock directory /var/lib/apt/lists/
E: Unable to lock directory /var/lib/apt/lists/报错解决方案。
2022-09-04 14:06:47
976
原创 10: fatal error: openssl/x509v3.h: No such file or directory
make时报错:10: fatal error: openssl/x509v3.h: No such file or directory。ubuntu安装cmake过程中问题记录。进入解压后的文件目录下,执行如下命令。
2022-08-12 23:38:14
643
原创 ubuntu下 qt xxx.run 安装步骤
2、开始安装 Qt,输入命令“./qt-xxx.run”或者“sudo ./qt-xxx.run”,两者的区别在于,一个是将 Qt 默认安装在 home 目录下,后者是将 Qt 安装在根目录/opt 下,建议不使用sudo ./…修改完成后重启系统,或者使用"source /etc/profile" 或 ". /etc/profile"使得修改生效,即重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。安装后需配置环境变量,编辑/etc/profile文件。...............
2022-08-12 20:59:48
6626
原创 ubuntu sudo运行Qtcreator后,常规打开提示Cannot overwrite file
在标题sudo的地方再次执行sudo chown -Rv 系统用户名:系统用户名 ~/.config/QtProject/ && chmod -Rv 0700 ~/.config/QtProject/
2021-08-05 15:50:35
886
原创 opencv配置出错记录
make时出现错误:……75:15: fatel error : stdlib.h:没有那个文件或目录解决方法在cmake时加入参数设置-D ENABLE_PRECOMPILED_HEADERS=OFF …纯手打,有错误自行百度。
2021-07-10 12:29:07
177
原创 虚拟机Ubuntu18安装qt5.12.6
在qt安装包文件夹内,右键打开终端,执行以下代码,赋予执行权限sudo chmod a+x qt-opensource-linux-x64-5.12.6.run然后双击安装包进行软件安装根据需要选择安装路径、编译器及控件本次安装未出现qt无法打开错误!...
2021-07-04 21:41:03
409
原创 vscode+虚拟机Ubuntu18+opencv3.1配置问题记录(1)主客机不能进行复制粘贴
安装VMware Tools之后主客机间不能正常拖拽复制粘贴依次执行:sudo apt-get autoremove open-vm-toolssudo apt-get install open-vm-tools-desktop默认安装最后重启Ubuntu
2021-07-04 17:18:12
147
原创 2021-07-04
VMware Workstation虚拟机中设置U盘启动欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,
2021-07-04 14:39:50
78
原创 C++变量转换,将int变量存入void*,然后再取出
将int变量存入void*,然后再取出int a = 2;void p;p = (void)a;int b = (int)p;printf("%d\n", b);结果:2
2021-03-28 09:00:17
560
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人