c++高级应用

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