std::expected 跨边界:错误类型膨胀与映射成本C++2026年7月29日·15 分钟阅读std::expected 跨边界:错误类型膨胀与映射成本沿库边界拆开错误域映射、异常边界与日志关联,说明为什么随便 map_error 会把诊断信息抹平;给出分层错误模型与可回放的失败路径验收。#C++#错误处理#API设计#std::expectedREAD →
C++ 协程的取消与生命周期:悬空 coroutine_handle 从哪里来C++2026年7月28日·16 分钟阅读C++ 协程的取消与生命周期:悬空 coroutine_handle 从哪里来沿 promise、awaiter、continuation 和 frame 所有权拆开协程销毁契约;用结构化并发封装,并以等待方先销毁、I/O 晚完成三类竞态验收。#C++#协程#并发#生命周期READ →
std::pmr 帧级内存池:释放快不等于对象能跨帧活C++2026年7月27日·9 分钟阅读std::pmr 帧级内存池:释放快不等于对象能跨帧活用 monotonic_buffer_resource 管理帧级临时对象,讲清 memory_resource、upstream、allocator 传播、release 后悬垂、线程边界,以及无堆分配测试与基准方法。#C++#std::pmr#内存管理#性能READ →
std::jthread 停线程:自动 join 不等于能打断阻塞C++2026年7月26日·3 分钟阅读std::jthread 停线程:自动 join 不等于能打断阻塞用 C++20 stop_token、condition_variable_any 和成员析构顺序,做一条能在关闭时可靠退出的传感器工作线程。#C++#并发#C++20READ →
李群小工具的数值卫生:归一化、夹角与阈值C++2026年7月19日·4 分钟阅读李群小工具的数值卫生:归一化、夹角与阈值李群/李代数 helper:Exp/Log 数值稳定、小角度近似与 SLAM 状态更新。#C++#数学基础#SLAMREAD →
ABI 与插件边界:算法库如何安全热插拔C++2026年7月18日·4 分钟阅读ABI 与插件边界:算法库如何安全热插拔跨 .so 边界时 C API、类型擦除与版本校验怎么落地,以及我踩过的静默崩溃。#C++#工程#架构READ →
Eigen 别名与求值顺序:机器人数值代码的隐形雷C++2026年7月17日·4 分钟阅读Eigen 别名与求值顺序:机器人数值代码的隐形雷Eigen 表达式模板与 aliasing:何时必须 .eval()、中间临时与 robot 状态更新。#C++#Eigen#优化READ →
传感器线程模型:无锁队列、背压与实时优先级C++2026年7月16日·4 分钟阅读传感器线程模型:无锁队列、背压与实时优先级采集线程与算法线程边界、有界队列背压、伪共享与优先级反转。#C++#并发#工程READ →
移动语义与流水线:点云/图像缓冲如何少拷一次C++2026年7月15日·4 分钟阅读移动语义与流水线:点云/图像缓冲如何少拷一次移动语义在感知流水线里的接口设计:右值重载、noexcept move 与 loaned message 边界。#C++#性能#工程READ →
所有权与 RAII:机器人 C++ 里最先要钉死的习惯C++2026年7月14日·4 分钟阅读所有权与 RAII:机器人 C++ 里最先要钉死的习惯机器人 C++ 所有权:驱动 fd、GPU buffer、回调生存期与 ASan 落地。#C++#工程#机器人READ →
初始化规则:防止意外收窄与未初始化C++2026年7月13日·4 分钟阅读初始化规则:防止意外收窄与未初始化统一初始化、initializer_list 陷阱与机器人参数 struct 的写法。#C++#基础#工程READ →
头库与二进制库:模板库分发的取舍C++2026年7月12日·4 分钟阅读头库与二进制库:模板库分发的取舍头文件库 vs 编译库:迭代速度、编译时间、ABI 与模板暴露的权衡。#C++#工程#架构READ →
机器人 C++ 评审清单:十个高频缺陷C++2026年7月11日·4 分钟阅读机器人 C++ 评审清单:十个高频缺陷机器人 C++ PR 自检:生命周期、锁、时钟、浮点、ABI 十个高频坑。#C++#工程#评审READ →
错误处理边界:库内与产品边缘策略不同C++2026年7月10日·5 分钟阅读错误处理边界:库内与产品边缘策略不同异常、错误码与 expected 在驱动层/算法层/ROS 节点边界的分工。#C++#工程#APIREAD →
剖析热点:从墙钟到火焰图C++2026年7月9日·4 分钟阅读剖析热点:从墙钟到火焰图perf、flamegraph、VTune 找热点:先 end-to-end 再 micro-opt。#C++#性能#工程READ →
constexpr 查找表:把不变计算挪到编译期C++2026年7月7日·4 分钟阅读constexpr 查找表:把不变计算挪到编译期编译期生成三角函数表、索引表,减少运行时分支与 magic number。#C++#性能#基础READ →
小缓冲优化直觉:短字符串与小向量C++2026年7月6日·4 分钟阅读小缓冲优化直觉:短字符串与小向量SBO 与 `std::function`/短字符串:回调里 hidden 堆分配对延迟的影响。#C++#性能#工程READ →
Eigen::Map:零拷贝映射外部缓冲C++2026年7月5日·5 分钟阅读Eigen::Map:零拷贝映射外部缓冲Eigen::Map 绑定外部 buffer 的对齐、lifetime 与 aliasing,适配 ROS/传感器零拷贝视图。#C++#Eigen#性能READ →
只移动队列:帧管道里的所有权传递C++2026年7月4日·4 分钟阅读只移动队列:帧管道里的所有权传递只移动类型的有界队列:传感器帧、unique_ptr 缓冲在 pipeline 里的传递。#C++#并发#工程READ →
Sanitizer 与 CI:让内存错误在合并前暴露C++2026年7月3日·4 分钟阅读Sanitizer 与 CI:让内存错误在合并前暴露ASan/UBSan/TSan 在机器人 CI 里的启用策略,以及和实时路径、第三方库的取舍。#C++#测试#工程READ →
头文件卫生:隐藏实现与编译防火墙C++2026年7月2日·4 分钟阅读头文件卫生:隐藏实现与编译防火墙PIMPL、前置声明与模块化拆分的实操,以及机器人单体仓库里怎么少 include 重依赖。#C++#工程#架构READ →
基准测试方法:防优化吞掉你的测量C++2026年7月1日·4 分钟阅读基准测试方法:防优化吞掉你的测量Google Benchmark 思路、防编译器优化、尾延迟测量,以及机器人 pipeline 里怎么不被均值骗。#C++#性能#测试READ →
单测确定性:随机、时间与文件系统打桩C++2026年6月30日·4 分钟阅读单测确定性:随机、时间与文件系统打桩单测确定性:固定 seed、mock 时钟、避免 flaky 并发测试。#C++#测试#工程READ →
日志级别与结构化字段:能搜才有用C++2026年6月29日·4 分钟阅读日志级别与结构化字段:能搜才有用结构化日志、级别策略与热路径里别 LOG_EVERY_N 误伤实时性。#C++#工程#可观测性READ →
filesystem 与配置加载:路径与原子替换C++2026年6月28日·4 分钟阅读filesystem 与配置加载:路径与原子替换std::filesystem 加载 YAML/JSON 配置的路径解析、热更新与失败回滚。#C++#工程#配置READ →
chrono:单调时钟与系统时钟别混用C++2026年6月27日·4 分钟阅读chrono:单调时钟与系统时钟别混用steady_clock 与 system_clock 的分工,传感器时间域对齐,以及超时别用错钟。#C++#工程#时间READ →
浮点陷阱:相等比较、累积误差与确定性C++2026年6月26日·3 分钟阅读浮点陷阱:相等比较、累积误差与确定性浮点比较、灾难性抵消、NaN 传播与 SLAM 里「小阈值大事故」。#C++#数值#工程READ →
SIMD 入门:从标量循环到可向量化写法C++2026年6月25日·4 分钟阅读SIMD 入门:从标量循环到可向量化写法SIMD 入门:对齐、intrinsics 与点云/图像里值得 vectorize 的 loop。#C++#性能#优化READ →
缓存局部性:点云与图像遍历顺序C++2026年6月24日·4 分钟阅读缓存局部性:点云与图像遍历顺序点云/图像遍历顺序、AoS vs SoA、分块与 perf 测量,减少 cache miss 的实操。#C++#性能#EigenREAD →
互斥锁套路:层次锁与死锁避免C++2026年6月22日·4 分钟阅读互斥锁套路:层次锁与死锁避免锁顺序、std::lock、scoped_lock 与机器人多模块死锁案例。#C++#并发#工程READ →
原子与内存序:传感器标志位怎么同步C++2026年6月21日·4 分钟阅读原子与内存序:传感器标志位怎么同步memory_order 在传感器标志位与 SPSC 队列里的用法,以及 acquire/release 用错时的隐蔽代价。#C++#并发#性能READ →
variant 与访问器:用代数数据类型表达模式C++2026年6月20日·4 分钟阅读variant 与访问器:用代数数据类型表达模式variant 表达传感器消息多态:visit 模式与状态机。#C++#工程#状态机READ →
CRTP:静态接口与零开销扩展点C++2026年6月19日·3 分钟阅读CRTP:静态接口与零开销扩展点CRTP 做零开销静态多态:滤波器、积分器策略在热点路径上的用法与代价。#C++#模板#性能READ →
Concepts:给模板参数写出人能读的约束C++2026年6月18日·4 分钟阅读Concepts:给模板参数写出人能读的约束concepts 约束模板接口:早失败、可读错误与机器人 math 工具。#C++#模板#工程READ →
三/五法则:管理套接字与 DMA 缓冲的类C++2026年6月17日·5 分钟阅读三/五法则:管理套接字与 DMA 缓冲的类Rule of Zero/Five:相机句柄、GPU buffer 等资源类的正确写法。#C++#工程#RAIIREAD →
optional / expected:用类型表达可失败结果C++2026年6月16日·4 分钟阅读optional / expected:用类型表达可失败结果std::optional 与 expected/Outcome 表达「可能没有」与「失败原因」。#C++#工程#APIREAD →
span 与 string_view:不拥有的视图怎么用才安全C++2026年6月15日·4 分钟阅读span 与 string_view:不拥有的视图怎么用才安全span 与 string_view 作非拥有视图:lifetime 规则与 API 设计。#C++#工程#性能READ →
shared_ptr 成本:何时不该共享所有权C++2026年6月14日·5 分钟阅读shared_ptr 成本:何时不该共享所有权shared_ptr 的原子 refcount 成本与何时该 unique_ptr + 借用。#C++#性能#工程READ →
const 正确性:接口契约比注释更硬C++2026年6月13日·4 分钟阅读const 正确性:接口契约比注释更硬const 与 constexpr 写进类型契约,减少回调里意外改状态和并发误用。#C++#工程#基础READ →
值类别基础:lvalue / rvalue 与表达式结果C++2026年6月12日·5 分钟阅读值类别基础:lvalue / rvalue 与表达式结果值类别与移动:左值/右值/xvalue 怎么影响机器人 pipeline 接口。#C++#基础#工程READ →