百科问答小站 logo
百科问答小站 font logo



C++的CRTP所带来的静态多态功能具体有什么用? 第1页

  

user avatar   haozhi-yang-41 网友的相关建议: 
      

我用过。

当时场景是这样的,有一段二进制格式流要解包,就是定长头+变长体的那种格式。在这些解包操作类的基类和子类之间,就用了这种方式。

当时主要的考虑就是省掉 vptr。这样,就可以直接把这些类都当做 pod 类型,直接在指定偏移拿某个类的指针做类型强转就可以直接得到一个实例了。这样就可以省掉构造函数和析构函数的开销,以及这两个函数执行过程中可能产生的内存拷贝。




  

相关话题

  如果人生有的选,18岁的你凭实力拿到清北录取通知书和因为房产红利变成资产总量三千万的家庭,选哪个? 
  你有过哪些被 C++ 摧残的经历? 
  C/C++ 数组大小需要是2的倍数吗? 
  C++ 运动完上一个函数到下一个函数时,上一个函数里的变量值(结构体变量)为什么没保留住,变成零了? 
  能否把高版本的libstdc++静态连接到一个只暴露纯C接口的动态库中,给低版本c++程序调用? 
  C++原子变量数组能用memset置空吗? 
  C/C++ 如何自定义printf函数的格式化符? 
  c++ 程序运行时异常处理,怎么定位到出错代码行? 
  如何理解 Golang 中“不要通过共享内存来通信,而应该通过通信来共享内存”? 
  C++ 几十年来为什么没给 break 语句加上参数? 

前一个讨论
windows最终会完全采用linux内核吗?
下一个讨论
如何看待章莹颖案与张扣扣案最终结果的巨大差异?





© 2025-02-10 - tinynew.org. All Rights Reserved.
© 2025-02-10 - tinynew.org. 保留所有权利