C++
文章平均质量分 94
C++ 相关代码文章等
Loup&卡普
这个作者很懒,什么都没留下…
展开
-
【C++ 笔记五】STL 标准模板库 —— 容器基础进阶
顺序容器顺序容器的查找时间复杂度为 O(n),即在存在 n 个元素时,大 O 表示时间渐进复杂度上界,也就是最差的情况下需要查找 n 次。关联容器红黑树为一种特殊的平衡二叉搜索树 (balanced binary search tree),查找复杂度为 O(lognlog_{}nlogn二叉树:一棵树型数据结构,每个节点至多有两个子节点。平衡二叉树:即对于树中任何一个节点,它的左子树和右子树的高度之差 (平衡因子) 的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。原创 2023-06-12 21:37:47 · 899 阅读 · 0 评论 -
【C++ 笔记四】STL 标准模板库 —— 容器基础
(标准模板库) 包含于(标准库) 中,都封装于命名空间std中。属于泛型编程 (Generic Programming) ,使用模板 (template) 为主要工具来编写的程序。迭代器是一种泛化的指针,可以使用++和--去访问容器中的元素,需要注意它的访问区间是一个前闭后开的区间。c.begin()解引用是容器的第一个元素,c.end()指向的是容器最后一个元素的下一个元素,所以不能解引用,即*(c.end());可能导致程序异常,程序崩溃异常退出。statement;原创 2023-06-09 17:08:26 · 658 阅读 · 0 评论 -
【C++笔记二】- C++开发技巧/工具使用
C++开发环境的便捷使用方式原创 2023-05-10 19:54:29 · 185 阅读 · 0 评论 -
【C++笔记一】C++基础进阶与易错点
C++ 基础进阶与易错点原创 2023-05-05 00:39:22 · 144 阅读 · 0 评论 -
C/C++ 代码中使用 CMake 工程目录
代码中使用 CMake 变量原创 2023-09-13 00:27:00 · 486 阅读 · 0 评论 -
【C++】Visual Studio EditorConfig 格式设置
visual studio 中 .editorconfig 文件的各种属性设置解释原创 2023-08-31 21:04:02 · 1259 阅读 · 0 评论 -
【C++】虚继承(virtual base classes)
C++ 虚继承的情景,以及代码示例原创 2023-08-11 17:04:44 · 317 阅读 · 0 评论 -
【C/C++】C语言工程转C++工程,去除旧代码中的警告和错误
警告 warning ISO C++ forbids converting a string constant to 'char *' [-Wwrite-strings]error: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]引入其他 C语言 方法,使用时会报错,无法解析的外部符号等C++ 中的编译器为了使用函数重载,声明会编译为区别 C语言编译器的另一种形式 此处会报错 修改方法可以将引入的函数。原创 2023-07-21 23:30:54 · 598 阅读 · 0 评论 -
【C++】SonarQube C++ 静态代码检视规则
举例:Virtual function ‘UpdateStatus’ is called from constructor ‘Remote’ at line ‘42’. Dynamic binding is not used.类成员的初始化顺序是按照类内数据成员的声明顺序进行初始化的,这样可以减少不必要的开销,类不必为每一个对象进行跟踪初始化数据成员,只需要按照类中的声明顺序初始化即可。类类型的变量,或者叫聚合类型变量,初始化建议放在构造函数初始化列表,这种情况下 只调用一次构造。原创 2023-07-11 23:47:01 · 1093 阅读 · 0 评论 -
【C++】float / double 与 0 值比较
float 与 double 在计算机中存储的内容可能与想象中等于代码赋予的字面值不同,如下因此与 0 值的比较不可以单纯比较 == 0.0。原创 2023-07-10 23:02:34 · 1803 阅读 · 0 评论 -
【C++】标准库 - 文件的读写 ifstream, ofstream, fstream
网上关于使用 C++ 读写文件的内容不是所期待的,所以来写一下。无论是读文件还是写文件,首先需要打开文件,需要使用两个类ifstream (InputFilestream) 用于读取ofstream (OutputFilestream) 用于写入这两个类继承自 std::io_base 用于处理 io 流。需要包含头文件。原创 2023-07-05 08:26:53 · 10494 阅读 · 0 评论 -
【C++】标准库 — 正则表达式 std::regex
从 C++11 起,标准库增加了正则表达式 (RegularEx)std::regex,包含在头文件中。描述字符序列的方法,用于字符(串)的模式/模糊匹配。用途查找 (是否包含,找出来)标识释义seqsequence 表示目标序列rregex 表示模式,即正则表达式mmatch 对象,即 std::match_results 匹配到结果数组mftmatch flag type 匹配标识选项位掩码类型 (BitmaskType)替换(替换内容,替换格式)标识释义。原创 2023-06-25 18:51:26 · 3029 阅读 · 2 评论 -
【C/C++】静态内存分配与动态内存分配
编译时内存分配或静态内存分配 (Compile-time or Static Memory Allocation)运行时内存分配或动态内存分配 (Run-time or Dynamic Memory Allocation)静态内存分配静态内存分配是由编译器为声明的变量分配内存。内存的地址可以通过地址操作符找到,并且可以赋值给指针变量。该内存是在编译时分配的。动态内存分配在程序执行时 (execution) 或 运行时 (run-time) 进行的内存分配被称为动态内存分配。库函数例如calloc()原创 2023-06-25 00:38:17 · 2393 阅读 · 1 评论 -
【C/C++】 switch-case 详解/全面总结
类似if-else语句,语句用于处理复杂的条件判断和分支操作,但相较前者有更好的可读性,在代码中出现冗长的if-else阶梯代码时,语句可作为一个不错的替代方案。原创 2023-06-19 09:44:11 · 9408 阅读 · 0 评论 -
【C++】静态成员函数
类中的成员函数,若未使用类中的成员变量,则可声明为静态成员函数,函数声明前加上static关键字。静态成员函数不属于对象,属于类。静态成员函数与成员函数用法上的主要不同为:调用静态成员函数时,不需要实例化一个对象。只需要使用类名命名空间标识符) 加函数名即可调用。原创 2023-06-09 20:55:10 · 3619 阅读 · 0 评论 -
【C/C++】防止不必要的宏替换
避免和防止宏定义在不必要的位置进行替换。原创 2023-06-06 17:36:22 · 274 阅读 · 0 评论 -
C++ STL 算法汇总
c++ stl 标准模板库 算法汇总原创 2023-06-04 22:31:03 · 164 阅读 · 0 评论 -
【C++笔记三】- 英语相关/英语工具
文接上文。原创 2023-05-31 00:41:08 · 98 阅读 · 0 评论 -
详解 clang-format 配置选项(基于 clang 8.0.0)
clang-format 用于快速格式化代码风格,集成开发环境一般内置支持,如 Visual Studio。由于使用 Visual Studio 2019 内置的较旧的版本,网上查到很多 clang-format 配置选项不支持,如连续的宏对齐 选项,报错如下。集体升级成本又太高,所以使用了旧版 8.0.0。clang 自 9.0.0 开始支持这个选项。匹配开始和结束语句块的宏定义正则表达式,用于缩进。原创 2023-05-28 17:04:28 · 1676 阅读 · 0 评论 -
C++ 影响动态多态的静态联编与对象切割
对象切割 与 动态多态原创 2023-05-21 19:44:35 · 97 阅读 · 0 评论 -
Visual Studio Code 设置 doxygen 格式注释
vscode 设置 doxygen 格式的注释,插件推荐,配置方法,设置 doxygen 注释颜色原创 2023-05-11 17:08:02 · 3878 阅读 · 0 评论 -
C++ 实用编程规范与建议
实用 C++ 编码规范与建议,为减少错误,提高程序效率原创 2023-05-04 11:30:51 · 470 阅读 · 0 评论 -
C++跨平台开发注意事项 (Win/Linux) 【二】
MSVC 有较高容错,宏函数的参数个数错误,即参数数量与定义不一致时,或不影响使用,但 Linux 下无法编译通过。原创 2023-05-02 21:50:57 · 463 阅读 · 0 评论 -
C++跨平台开发注意事项(Win/Linux) 【一】
随着多系统的普及,不少软件面临跨平台的需求,普通 Windows PC 端可以使用的代码,需要在另一个平台下编译和运行。以 Linux 平台为例,整理了从 Windows 平台上的可编译代码到 Linux 平台上代码移植问题,以及跨平台开发的建议规范与需要注意的事项。Windows 平台上的 MSVC 编译器容错率比较高,部分代码问题编译器会自动纠正或忽略,但是 Linux 下的 gcc/g++ 比较严格,且运行环境、库不一致,Windows 下可编译的代码,直接在 Linux 下编译会产生很多问题。原创 2023-05-02 20:04:24 · 2255 阅读 · 0 评论 -
使用 C++ 方式实现 GBK 到 UTF-8 转码 (win / linux)
C++ 方式实现 gbk 转 utf-8原创 2023-04-25 07:00:00 · 6406 阅读 · 1 评论