自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 C++ CRTP

继承自,也就是说,子类把自己“递归”地传给了父类。这就是“奇异递归”的由来。

2025-07-15 19:35:07 545

原创 C++17 std::variant 详解

是 C++17 中一个强大的特性,它提供了类型安全的联合体功能。通过合理使用避免使用不安全的union创建更加类型安全的代码简化错误处理逻辑提高代码的可读性和可维护性。

2025-07-12 15:11:18 900

原创 学习 Makefile

make。

2025-07-11 15:12:42 462

原创 C++17 中 std::optional 使用详解

是 C++17 中引入的一个模板类,用于表示一个可能包含值,也可能为空的对象。它提供了一种更安全、更清晰的方式来表示“可选值”,替代传统的空指针、特殊标记、布尔状态等方案。

2025-07-09 16:56:25 403

原创 C++17 std::filesystem:的核心功能、常用接口及用法。

函数说明判断路径是否存在判断是否为普通文件判断是否为目录创建目录删除文件或空目录删除目录及其所有子内容获取文件大小(字节)复制文件或目录重命名文件或目录获取当前工作目录获取绝对路径获取规范路径(去除符号链接等)以现代 C++ 的风格,将复杂的文件系统操作封装得简洁优雅,不但跨平台,还极大提升了代码的安全性和可读性。无论是处理路径字符串,还是操作文件、目录,都能轻松驾驭。建议所有需要文件操作的 C++ 项目尽早采用,摒弃手工拼接路径和平台依赖代码,让你的项目更加健壮和易维护。

2025-07-05 09:05:09 410

原创 使用 GDB 调试多线程程序

info threads # 查看所有线程thread <id> # 切换线程bt # 当前线程栈回溯thread apply all bt # 所有线程的栈。

2025-07-02 11:23:47 441

原创 使用 GDB 调试分离调试信息的可执行程序(.debug 文件)

源文件路径变量/函数名称行号、作用域、类型信息(DWARF 格式)这些信息会让编译后的二进制文件变大,但也使得你能在 GDB 中看到完整的调试细节。节省线上资源保留本地调试能力避免源码信息泄露gdb ./app。

2025-07-02 11:15:29 498

原创 GDB 中使用 `step` 会进入系统调用、标准库或第三方库函数吗?

摘要: GDB的step命令能否进入库函数或系统调用取决于调试信息。带调试符号的库函数可以进入(如安装libstdc++-dbg),无符号库会跳过(表现为执行但无源码级调试)。系统调用因涉及内核态切换无法进入。控制方法: 用next跳过函数 skip命令过滤特定函数/文件 set step-mode on限制当前文件 调试系统调用需用strace或内核调试工具。建议编译时加-g保留调试符号,必要时安装库的调试包。

2025-07-02 11:12:41 435

原创 C++异步通信-future学习

future、promise、async、packaged_task、shared_future

2025-05-28 22:49:14 1271

原创 JSON 学习笔记

JSON 学习笔记

2025-05-27 01:09:40 662

原创 Base64编码

Base 编码学习

2025-05-27 00:57:44 644

原创 Git 开发全流程基本操作

Git 开发全流程基本操作。

2025-04-03 00:24:28 936

原创 libevent 中 bufferevent 相关的常用函数

在libevent中,是用来简化和优化异步 I/O 操作的结构体,提供了对网络套接字进行高效的读写操作。提供了多种函数,方便开发者处理数据流、事件和缓冲区管理。以下是相关的常用函数。

2025-02-17 19:54:45 604

原创 C++中std::enable_shared_from_this<> 的用法

std::enable_shared_from_this

2025-02-17 11:58:00 909

原创 操作系统-内存管理

操作系统内存管理

2024-07-17 10:03:34 1104

原创 Redis-五种数据结构之列表(ziplist、quicklist)

Redis 五种数据结构之列表主要介绍ziplist和quicklist列表

2024-06-19 21:24:05 1208

原创 操作系统-进程调度

进程调度

2024-06-19 20:10:59 925

原创 操作系统-进程间的四种通信(共享内存、消息队列、信号、管道)

操作系统-进程间的通信-共享内存-消息队列-信号-管道

2024-06-17 21:04:41 1745

原创 操作系统 - 进程的控制(创建与终止)

操作系统,进程的创建和进程的终止

2024-06-17 11:52:01 929

原创 操作系统-进程概念

进程概念-进程状态-进程状态间的转换-进程控制块

2024-06-17 09:24:09 687

原创 Redis数据结构之字符串(sds)

Redis数据结构之字符串(sds)

2024-06-16 16:56:02 426

原创 MySQL -事务、锁

MySQL事务以及锁

2024-04-19 16:56:42 1050 2

原创 c++11 中的std::promise 与 std::future以及std::packaged_task的用法

c++11 中的std::promise 与 std::future以及std::packaged_task的用法

2023-12-04 22:59:53 1125

原创 c++11之std::async 和std::thread 的区别

c++11之std::async 和std::thread 的区别

2023-12-04 10:09:05 715

原创 三组 l/O 复用 函数

三组I/O复用函数

2023-09-11 12:44:16 479

原创 求1+2+…+n, 要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)

求1+2+…+n, 要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)四种方法

2023-07-29 01:16:23 364

原创 C++对象移动-移动语义

C++ 移动语义 -右值 ,左值

2023-07-12 10:51:14 594

原创 七种排序算法

七种排序算法

2023-03-05 10:37:42 148

原创 数据结构--图

2023-03-04 14:21:20 358

原创 数据库SQL

SQL

2023-03-01 15:07:22 770

原创 -二叉树-

二叉树的遍历,搜索二叉树,平衡二叉树,堆,哈夫曼树

2023-03-01 15:04:26 524

原创 动态创建二维数组的三种方法,数组指针 含义

动态创建二维数组的三种方法,数组指针 含义

2022-11-16 19:39:50 1254

原创 c++ 函数指针

函数指针

2022-11-14 20:36:25 305

原创 【分而治之】归并排序和求逆序对数

归并排序和求逆序对数 c++

2022-10-31 23:08:18 251

原创 计算最大子序列和的四种算法

计算最大子序列和的四种算法

2022-10-30 09:46:37 269

原创 单链表的逆置的两种方法

单链表的逆置的两种方法

2022-10-26 20:15:50 202

原创 循环双链表

循环双链表

2022-10-12 17:27:28 255

原创 数据结构-单链表-c++实现

单链表

2022-09-27 16:22:32 419

原创 c++ 顺序表 实现 可动态分配内存

c++ 顺序表 实现 可动态分配内存

2022-09-17 23:30:46 307

原创 c++ 函数-函数重载 时 的 函数匹配

函数匹配

2022-09-11 21:13:07 702

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除