技术栈
c++高级应用
点云SLAM
5 天前
c++
·
c++20
·
c++模版
·
c++高级应用
·
c++模版报错定位
C++ Template(模板)解读和模板报错如何“逆向阅读”定位
Template = 编译期函数 / 类型生成系统编译期行为:关键点:模板代码膨胀、编译慢的根本原因要求:
点云SLAM
11 天前
c++
·
算法
·
c++模板
·
c++高级应用
·
traits 类模板
·
c++17、20
·
c++元信息
C++ 中traits 类模板(type traits / customization traits)设计技术深度详解
traits 是一种将类型 元信息 或 类型相关行为 从类型本身分离出来的技巧。它把“关于类型 T 的知识”放在一个可特化的类模板里:
点云SLAM
18 天前
c++
·
内存管理
·
c++高级应用
·
c++包装器
·
类型擦除包装器
·
内存小对象优化
C++包装器之类型擦除(Type Erasure)包装器之小对象优化(SBO, Small Buffer Optimization)示例(5)
类型擦除包装器(例如 std::function/std::any)通常在内部对任意类型做 new Model<T>(...) 动态分配并保存基类指针。动态分配的成本(堆分配/释放、缓存抖动)在高频路径(比如每帧创建残差对象、或实时点云处理)会成为瓶颈。
点云SLAM
20 天前
c++
·
算法
·
c++17
·
类型擦除
·
c++高级应用
·
c++包装器
·
函数包装
C++包装器之类型擦除(Type Erasure)包装器详解(4)
类型擦除是一种 C++ 设计模式,用于将不同类型通过统一接口进行封装,使得外部代码无需知道其真实类型。
点云SLAM
7 个月前
c++
·
算法
·
c++20
·
c++学习
·
聚合类
·
面向对象设计、
·
c++高级应用
C++中聚合类(Aggregate Class)知识详解和注意事项
按成员声明顺序依次匹配初始值列表。对于带默认成员初始化的聚合,可只初始化前几个成员,剩余成员用默认值:
我是有底线的