自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 编译使用protobuf的项目出现的问题

摘要:在使用protobuf 3.4.0时,g++编译出现absl库的未定义引用错误。手动链接absl库无效,通过pkg-config发现protobuf依赖大量库文件。改用CMake构建,利用find_package自动处理依赖关系,成功编译。相比手动指定依赖库,CMake能更高效地管理新版protobuf的复杂依赖,建议使用CMake替代命令行编译。该方案解决了protobuf新版本依赖复杂的问题。

2025-11-28 13:13:17 322

原创 C++中的operator bool()

本文探讨了C++中operator bool()函数的特性与应用。std::function对象可直接用于if条件判断,这源于其内部实现了operator bool()成员函数。该函数允许类对象在布尔上下文中进行隐式转换,通过重载此函数可自定义类对象的布尔值判断逻辑。文章也对比了C++的operator bool()与C语言的隐式布尔转换机制。

2025-11-20 14:44:46 770

原创 implicit_cast和down_cast

摘要:muduo库中定义了implicit_cast和down_cast两个模板函数用于类型转换。implicit_cast通过编译期检查确保类型转换安全,能阻止不安全的基类指针转派生类指针操作;down_cast则在调试模式下使用dynamic_cast检查向下转换合法性,在发布模式下使用高效的static_cast。相比标准类型转换,这两个函数提供了更好的安全性保障,建议在合适场景优先使用。测试表明implicit_cast能有效阻止不安全的向下转换,弥补了static_cast的缺陷。

2025-11-18 21:26:11 132

原创 C++智能指针总结

本文详细介绍了C++智能指针的原理与应用场景。首先分析了裸指针的内存泄漏问题,引出智能指针通过绑定对象生命周期来解决该问题的思路。文章重点介绍了: 不带引用计数的智能指针(auto_ptr、scope_ptr、unique_ptr)的实现原理及缺陷,其中unique_ptr通过右值引用实现资源转移,成为首选方案; 带引用计数的shared_ptr和weak_ptr,详细解析了引用计数机制,解决了循环引用问题; 智能指针在多线程环境下的应用,通过weak_ptr检测对象存活状态; 介绍了自定义删除器的实现方法

2025-11-14 15:27:30 860

原创 浅谈阻塞与非阻塞、同步与异步

本文主要介绍了IO操作中的阻塞/非阻塞和同步/异步概念。阻塞IO会改变线程状态直到数据就绪,而非阻塞IO通过返回值判断数据状态。同步IO需要请求方自己完成数据读写,而异步IO由内核完成并通知请求方。作者以Linux的recv函数为例,详细说明了不同IO模式的处理方式,并指出阻塞和非阻塞都属于同步IO,只有使用特殊API才是异步IO。

2025-10-28 17:46:47 550

原创 ubuntu连不上网的问题

关于虚拟机ubuntu连不上外网的问题

2025-09-28 23:01:53 332

原创 初识协程。。。

了解协程的一些概念和用处

2025-09-16 20:00:48 309

原创 日志(算法篇)(持续更新...)

个人刷题日志

2025-03-27 21:24:50 981 1

空空如也

空空如也

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

TA关注的人

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