欢迎来到 Franklin-Qi 的世界

Max
Min

随笔分类 -  C++

vim 代码中高效使用折叠fold
摘要:如何高效折叠当前cpp文件的所有的函数呢? 1. 找到所有的匹配个数n :%s/^{//gn 最后的n,代表只报告匹配的个数,而不进行实际的替换。 2. normal模式下录制宏进行折叠模式 qaggnzf%nq 3. 对匹配个数n执行宏 n@a 阅读全文

posted @ 2021-04-17 12:07 yusq77 阅读(233) 评论(0) 推荐(0) 编辑

C++ switch/case的替换方案
摘要:switch语句改为多态结构更好些。 1. 常规switch #include <iostream> enum EnumType { enumOne, enumTwo, enumThree }; void showMessage(int type) { switch (type) { case en 阅读全文

posted @ 2020-11-04 16:10 yusq77 阅读(719) 评论(0) 推荐(0) 编辑

Qt 信号和槽机制的优缺点
摘要:一、信号和槽机制 Qt提供了信号和槽机制用于完成界面操作的响应,是完成任意两个Qt对象之间的通信机制。 其中,信号会在某个特定情况或动作下被触发,槽是等同于接收并处理信号的函数。 二、信号和槽机制的优点 1、类型安全。需要关联的信号和槽的签名必须是等同。 即信号的参数类型和参数个数 同接收该信号的槽 阅读全文

posted @ 2020-10-27 15:31 yusq77 阅读(3384) 评论(0) 推荐(0) 编辑

多线程,什么时候该使用?
摘要:一、高并发 系统接受实现多用户多请求的高并发时,通过多线程来实现。 二、线程后台处理大任务 一个程序是线性执行的。如果程序执行到要花大量时间处理的任务时,那主程序就得等待其执行完才能继续执行下面的。那用户就不得不等待它执行完。 这时候可以开线程把花大量时间处理的任务放在线程处理,这样线程在后台处理时 阅读全文

posted @ 2020-10-27 15:10 yusq77 阅读(467) 评论(0) 推荐(0) 编辑

struct和class的区别
摘要:class类似的一个结构就是struct了,struct最早是在C语言中出现的,在C++中对struct的功能也进行了扩展。 一、默认的继承权限 struct默认是公有继承,class默认是私有继承。 二、关于默认访问权限 class中默认的成员访问权限是private的,而Struct中则是pub 阅读全文

posted @ 2020-10-26 09:39 yusq77 阅读(167) 评论(0) 推荐(0) 编辑

详解C++中指针和引用的区别
摘要:一、指针和引用的本质 (1)指针是存放内存地址的一种变量,特殊的地方就在它存放的是内存地址。因此,指针的大小不会像其他变量一样变化, 只跟当前平台相关——不同平台内存地址的范围是不一样的,32位平台下,内存最大为4GB,因此只需要32bit就可以存下, 所以sizeof(pointer)的大小是4字 阅读全文

posted @ 2020-10-22 20:20 yusq77 阅读(218) 评论(0) 推荐(0) 编辑

Qt项目翻译汉化
摘要:Qt项目翻译中文化会涉及到qt基础库的汉化。 一、汉化步骤 - 针对普通汉化 1.在程序源码中标识需要翻译的文本信息 对用户可见的文本信息使用tr()进行封装。 举例如下:label->setText(tr("Hello")); 2.通过Qtcreator生成.ts翻译文件 如果翻译文件位置为 tr 阅读全文

posted @ 2020-10-20 15:28 yusq77 阅读(1018) 评论(0) 推荐(0) 编辑

Qt class加载头文件
摘要:Qt 加载头文件的方式最好用class类型。 一、现象 在widget.h头文件中进行添加Qt库中的头文件时,每次用#include 形式,自动补全都不友好。 在combowidgetmapper案例中,看到其中的头文件引用是通过 class xxx; 此时自动补全很友好。 另外,查阅资料可知,cl 阅读全文

posted @ 2020-09-28 17:35 yusq77 阅读(345) 评论(0) 推荐(0) 编辑

C++ Standard Template Library
摘要:借助《c++ 17入门经典 第五版》和 Geeksforgeeks网站进行总结归纳c++。 一、容器与算法 双向队列简单遍历方式 deque<int> my_deque; // some mutators for (int element : my_deque) cout << element << 阅读全文

posted @ 2020-08-31 20:31 yusq77 阅读(174) 评论(0) 推荐(0) 编辑

BOOL和bool是不一样的
摘要:BOOL和bool是不一样的,他们没有半点关系。 一、BOOL类型 BOOL类型在windef.h头文件中被定义,其实际类型为int: typedef int BOOL BOOL类型在<wtypes.h>头文件中被定义,其实际类型为long: typedef long BOOL BOOL是一个三值逻 阅读全文

posted @ 2020-08-12 18:20 yusq77 阅读(327) 评论(0) 推荐(0) 编辑

如何写Makefile?
摘要:如何写Makefile ? c++ makefile 实例 CXX=g++ CXXFLAGS=-Wall -g RM=rm -f LDFLAGS= #使用“wildcard”函数获取工作目录下的.cpp文件列表 SRCS=$(wildcard *.cpp) #patsubst :替换函数,将符合规则 阅读全文

posted @ 2020-08-11 15:59 yusq77 阅读(120) 评论(0) 推荐(0) 编辑

多线程
摘要:互斥量从本质上说就是一把锁, 提供对共享资源的保护访问。 参考 多线程编程注意事项 互斥锁和环境变量 阅读全文

posted @ 2019-07-31 15:05 yusq77 阅读(125) 评论(0) 推荐(0) 编辑

C++ 基础知识
摘要:实例汇总 1、给一个文件,每行都是数字,以逗号分隔,求第两列的和。 使用popen进行打开awk命令处理后的输出,并通过fgets返回结果count。 1 /* Copyright (C) 2019 * Ltd. All rights reserved. 2 * Create date : 2019 阅读全文

posted @ 2019-07-22 16:54 yusq77 阅读(315) 评论(0) 推荐(0) 编辑

C++标准模板库STL
摘要:思维导图 C++标准模板库 参考 容器类详解 常用容器方法总结 阅读全文

posted @ 2019-07-21 12:52 yusq77 阅读(177) 评论(0) 推荐(0) 编辑

使用cJSON解析JSON
摘要:一、cJSON获取数组元素的每个值 { "operType": 0x5, "field": ["time","matchRule","level"] } 获得上述cjson数据cjsonDate中的"field"数组的每个元素 cJSON *arr = NULL, *obj = NULL; int 阅读全文

posted @ 2019-06-10 19:26 yusq77 阅读(1286) 评论(0) 推荐(0) 编辑

Leetcode
摘要:准备开始刷Leetcode题了。 参考 [82 Leetcode][1] [1]: https://www.polarxiong.com/category/LeetCode/ 阅读全文

posted @ 2019-06-03 17:52 yusq77 阅读(261) 评论(0) 推荐(0) 编辑

C/C++常见问题汇总
摘要:问题1、数组和指针的区别 数组名不可以作为左值 sizeof运算 取地址&运算 参考 二维数组名和二级指针 问题2、指针数组、数组指针与二维数组剖析 定义 实例区分 实例分析 符号优先级: ()> [ ] > * p1 先与“[]”结合,构成一个数组的定义,数组名为p1,int *修饰的是数组的内容 阅读全文

posted @ 2019-05-16 17:20 yusq77 阅读(1032) 评论(0) 推荐(0) 编辑

导航