自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++并发性能优化思路

对短生命周期小对象(如任务结构体)采用对象池、内存池(arena),避免多线程环境下频繁调用。

2025-05-20 09:07:51 891

原创 ABA问题及其解决思路C++

根本原因都是:只比较“值”或“地址”,不检查“是否中间被修改过”

2025-05-16 11:19:47 641

原创 C++多线程为什么不能传引用

在 C++ 里,用。

2025-05-08 11:23:31 424

原创 C++中匿名函数的本质与优点

简洁性:减少冗余代码,提升可读性。灵活性:直接捕获上下文,支持函数式编程。性能:内联优化,接近手写代码的效率。它是现代C++中实现高效、简洁逻辑的核心工具之一。

2025-04-29 19:12:01 410

原创 C++多线程动态链接库

C++ 提供了多种选择来进行多线程编程,除了标准库的线程支持(如POSIX 线程库(pthread):在 Unix-like 系统中广泛使用。Intel TBB:高效的并行任务调度和并行算法库,适用于高性能计算。OpenMP:主要用于并行化循环和数据并行的编程模型,广泛应用于数值计算。ConcRT:Windows 环境下的并行编程库,特别适用于多核处理器的任务调度。

2025-04-29 09:14:33 749

原创 C++11和17的新特性

【代码】C++11和17的新特性。

2025-04-28 15:23:57 297

原创 进程间通信

SIGINT。

2025-04-28 15:23:15 141

原创 TCP和UDP的基础知识点

包头+包体:包头定长,含有一个字段描述接下来的包有多大。多个数据包被连续存储于连续的缓存中,在对数据包进行读取时由于无法确定发生方的发送边界;在包末尾加界定符(注意要对这些字符本身做转码或者转移操作避免误结束)。TCP面向连接(三握四挥),UDP没有连接建立和拆除的过程;没有流量控制和拥塞控制,直接发数据,不关心接收方的处理能力;回想nagle算法为了避免糊涂窗口,需要等一个大包再发。TCP头部大,且为了可靠性需要连接以及一系列的机制;没有重传机制,但是现在光纤传输丢包率本身低;

2025-04-28 15:22:22 160

原创 const的auto忽略规则

C++中这段代码会报错吗,为什么。

2025-04-27 21:20:55 513

原创 多线程操作C++容器同步

在多线程环境中操作 C++ 容器时,必须小心数据竞争(data race)和线程安全问题。标准的 C++ 容器(如std::map等)在多线程环境下通常并不是线程安全的,即使是对容器的只读访问,如果同时有写操作(比如插入、删除元素),也会导致数据竞争。因此,在多线程程序中使用 C++ 容器时,必须采用适当的同步机制来确保线程安全。

2025-04-27 20:42:57 823

原创 C++的vector特性

【代码】C++的vector特性。

2025-04-27 20:28:17 620

原创 解决哈希冲突的优化方案

Robin Hood 哈希 | 同双重散列或线性探测,但插入时:若新元素探查次数 > 桶中已有元素探查次数,则“抢占”它,二者交换后继续插入 | 平均探查长度更均匀、尾部不留太多“富人” | 实现复杂、插入开销大 || 实现简单、缓存友好 | “主聚簇”(primary clustering) || 最佳均摊性能,聚簇最弱 | 实现稍复杂,需要第二哈希函数 || 线性探测(Linear Probing) |

2025-04-27 18:14:16 615

原创 unordered_set哈希算法

如果你的Key// 简单示例:将 x,y 组合// 使用:总结的哈希算法核心由std::hash提供;底层用“取模 + 链式冲突解决 + 负载因子触发 rehash”来保持均摊 O(1) 的插入/查找效率;具体哈希函数(如字符串、浮点)在不同 STL 实现中略有差异,但接口统一、可自定义。

2025-04-27 17:55:49 769

原创 三种常见的智能指针

智能指针,我介绍了常见三种以及作用实现,问我weak_ptr什么时候会用。

2025-04-27 15:43:36 292

原创 unique_ptr简版手撕

禁用拷贝构造函数和拷贝赋值运算符。,支持独占资源所有权和移动语义。允许移动构造和移动赋值。

2025-04-27 11:48:27 181

原创 虚函数的实现,开销以及优势

编译器会为每个包含虚函数的类生成一个虚函数表,其中按顺序存储该类所有虚函数的函数指针。派生类会继承基类的虚表,并覆盖其中被重写的虚函数地址,新增的虚函数则追加到表末尾。每个包含虚函数的对象内部会隐式添加一个指向其类虚表的指针(vptr)。对象构造时,vptr 被初始化为指向当前类的虚表;在继承链中,随着构造函数/析构函数的执行,vptr 会动态调整以指向相应类的虚表。调用虚函数时,通过对象的 vptr 找到虚表,再通过虚表中的偏移量定位具体函数地址,实现运行时多态。

2025-04-27 11:36:33 738

原创 C++学习笔记-Cherno(32位环境)

Cherno的C++系列学习笔记

2025-04-27 09:27:11 1364 1

空空如也

空空如也

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

TA关注的人

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