摘要: Professional C++ 第六版学习记录 Github 基础知识 const使用 const 用来表示不可修改的值或者对象 常量 const int a = 10; // a不可被修改 a = 12 // error std::optional 类模板 std::optional 管理一个可 阅读全文
posted @ 2025-08-27 22:54 杰西卡若 阅读(22) 评论(0) 推荐(0)
摘要: Modbus协议 Modbus是一种 单主多从 的通信协议. Modbus协议特点 1.在同一时间,总线上只能有一个主设备,但可以有一个或多个(最多247)从设备 阅读全文
posted @ 2025-10-16 19:42 杰西卡若 阅读(1) 评论(0) 推荐(0)
摘要: C# 异步编程场景 如果代码要实现 I/O 绑定方案以支持网络数据请求、数据库访问或文件系统读取/写入,则异步编程是最佳方法。 还可以为 CPU 绑定场景编写异步代码,例如耗时的计算。 异步编程模型 Task 和 Task<T> 对象共同表示异步编程的核心。 这些对象通过支持 async 和 awa 阅读全文
posted @ 2025-09-28 12:02 杰西卡若 阅读(7) 评论(0) 推荐(0)
摘要: CMake 常用语句 设置CMake 版本号 cmake_minimum_required(VERSION 3.25 FATAL_ERROR) 设置项目名称 project(CMake) 设置运行时产生文件输出目录 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE 阅读全文
posted @ 2025-09-21 12:32 杰西卡若 阅读(4) 评论(0) 推荐(0)
摘要: CMake 构建多个子项目 理解 我的理解就是,一层管理一层,顶层管理顶层及以下的第二层,把第二层的项目都当作顶层的子目录,依次类推。 目录结构 我的目录结构如下: bin:可执行文件目录 build:构建文件目录 ch10:第10单元 ch11:第11单元 CMakeLists.txt:top目录 阅读全文
posted @ 2025-09-03 00:20 杰西卡若 阅读(7) 评论(0) 推荐(0)
摘要: 为什么需要移动语义? 拷贝构造是将原来的资源的值原封不动的再次生成一份。移动构造是将原来资源的值在变成自己的。 class Buffer { char* data_; size_t size_; public: Buffer(const Buffer& rhs) // 拷贝构造 : data_(ne 阅读全文
posted @ 2025-08-29 16:40 杰西卡若 阅读(10) 评论(0) 推荐(0)
摘要: 二分搜索 时间复杂度 O(logN):最坏的情况下 O(1):恰好要找的数在最中间 寻找一个数 要点:数组是有序 bool exist(vector<int>& arr, int num) { if (arr == null || arr.size() == 0) { return false; } 阅读全文
posted @ 2025-08-27 22:51 杰西卡若 阅读(5) 评论(0) 推荐(0)
摘要: 双向链表 节点类型 template <typename T> class Node { public: Node(T data) : _data(data), prev(nullptr), next(nullptr) {} public: T _data; Node *prev; Node *ne 阅读全文
posted @ 2025-07-17 18:54 杰西卡若 阅读(17) 评论(0) 推荐(0)
摘要: 反转链表 定义节点类型 // 定义节点类型 class Node { public: Node(int data) : _data(data), next(nullptr) {} public: int _data; Node *next; }; 定义链表 // 定义链表 class LinkLis 阅读全文
posted @ 2025-07-15 20:32 杰西卡若 阅读(8) 评论(0) 推荐(0)
摘要: C++实现单链表 1.节点类 template <class T> class Node { public: T data; Node<T> *next; Node(T data); }; 2.链表类 template <class T> class LinkedList { public: // 阅读全文
posted @ 2025-07-15 17:58 杰西卡若 阅读(32) 评论(0) 推荐(0)