首页
个人开发
工作相关
搜索
登录
搜索
colo
欲买桂花同载酒
累计撰写
1824
篇文章
累计收到
0
条评论
首页
栏目
首页
个人开发
工作相关
智能指针
2025-12-12
使用智能指针管理动态数组
使用 std::unique_ptr 管理动态数组时:必须使用数组形式:std::unique_ptr<int[]>通过下标 ptr[index] 访问元素避免手动 delete[],智能指针会自动释放内存
2025年-12月-12日
4 阅读
0 评论
智能指针
2025-12-12
智能指针的基本使用与所有权
std::unique_ptr 是C++11引入的智能指针,用于管理动态分配内存的独占所有权。主要特点:独占所有权:同一时间只能有一个unique_ptr指向对象自动释放:离开作用域时自动删除托管对象轻量高效:几乎无额外开销基本用法示例:#include <memory> void demo() { // 创建unique_ptr管理int内存 std::unique_ptr<int> ptr(new int(10)); // 使用指针操作 *ptr = 20; // 自动释放内存(无需delete) }
2025年-12月-12日
4 阅读
0 评论
智能指针
2025-12-12
实现线程安全的环形缓冲区类,使用智能指针管理内存
实现要点:使用std::unique_ptr<T[]>管理动态数组内存通过双索引(head/tail)实现环形缓冲区逻辑使用互斥锁(mutex)和条件变量(condition_variable)保证线程安全正确处理缓冲区满/空时的阻塞等待禁用拷贝构造,提供移动语义支持
2025年-12月-12日
4 阅读
0 评论
智能指针
2025-12-11
设计线程安全的环形缓冲区(Ring Buffer)类,使用智能指针管理内存,支持多生产者多消费者场景
实现要点:使用std::unique_ptr管理缓冲区内存,避免手动delete通过std::mutex和std::condition_variable实现线程同步环形缓冲区使用模运算处理索引回绕生产者和消费者线程使用双重检查避免虚假唤醒禁用拷贝构造/赋值,防止智能指针意外共享使用std::weak_ptr打破可能的循环引用(如回调场景)
2025年-12月-11日
4 阅读
0 评论
智能指针
2025-12-11
设计线程安全的智能指针对象池
实现线程安全的对象池需要:使用std::shared_ptr配合自定义删除器实现对象回收通过std::weak_ptr跟踪对象避免循环引用使用互斥锁(std::mutex)保证线程安全对象池核心结构:std::vector<std::weak_ptr<Object>>自定义删除器将对象状态重置后回收到池中
2025年-12月-11日
5 阅读
0 评论
智能指针