当前位置: 首页 > article >正文

CRTP mixins EBO

CRTP

mixins

EBO

简洁的语言概括一下就是:

CRTP:子类是父类的模板参数,用来实现静态多态

mixins:原本是一种通过继承增加类功能的设计模式,借助CRTP的话,应该和上面常说的CRTP反过来了:父类是子类的模板参数。

EBO是编译器的优化。

具体可以看看GraphicBuffer类的定义:

49  class GraphicBuffer
50      : public ANativeObjectBase<ANativeWindowBuffer, GraphicBuffer, RefBase>,
51        public Flattenable<GraphicBuffer>
52  {

这个定义应该就是传统意义上的CRTP。但是ANativeObjectBase的定义应该是mixins:

33  /*
34   * This helper class turns a ANativeXXX object type into a C++
35   * reference-counted object; with proper type conversions.
36   */
37  template <typename NATIVE_TYPE, typename TYPE, typename REF,
38          typename NATIVE_BASE = android_native_base_t>
39  class ANativeObjectBase : public NATIVE_TYPE, public REF
40  {

http://www.kler.cn/a/412301.html

相关文章:

  • Uniapp开发下拉刷新功能onPullDownRefresh/onReachBottom
  • 【青牛科技】TS223 单触摸键检测IC
  • 【机器学习】如何使用Python的Scikit-learn库实现机器学习模型,并对数据进行预处理和特征缩放以提高模型性能?
  • 网上蛋糕售卖店管理系(Java+SpringBoot+MySQL)
  • 4.6 JMeter HTTP信息头管理器
  • ffmpeg视频滤镜:提取缩略图-framestep
  • 代理模式 (Proxy Pattern)
  • C#基础36-40
  • 【大数据测试 Elasticsearch 的 四大 常见问题及处理方案】
  • 【模糊查询Redis的Key,过滤出其中ZSET类型中包含自定义字符串的元素并删除】
  • 老旧前端项目如何升级工程化的项目
  • 鸿蒙Native使用Demo
  • ubuntu使用Docker,安装,删除,改源等记录
  • 类的加载机制
  • 自制Windows系统(十)
  • Unity 设计模式-单例模式(Singleton)详解
  • 【大数据学习 | Spark-Core】Spark中的join原理
  • 双向链表、循环链表、栈
  • Docker desktop 改变存储位置
  • VUE练习
  • Hive的基础函数
  • 英语知识在线平台:Spring Boot技术探索
  • 流媒体拥塞控制与流控
  • 几个bev模型部署常用的命令
  • 深度学习每周学习总结J6(ResNeXt-50 算法实战与解析 - 猴痘识别)
  • Spring MVC练习(前后端分离开发实例)