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



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

  

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

我用过。

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

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




  

相关话题

  如果有两颗药丸,一颗吃了让你写代码100%不出错,另一颗吃了能让你100%发现并修改bug,选哪颗? 
  C++为什么要弄出虚表这个东西? 
  在不使用奇淫怪技的情况下, 如何写出比 STL 快的 vector? 
  能否把高版本的libstdc++静态连接到一个只暴露纯C接口的动态库中,给低版本c++程序调用? 
  C++的优势有哪些? 
  编译器生成的汇编语句执行顺序为什么与C代码顺序不同? 
  朋友自杀前把名字改成了nullptr,是什么意思? 
  怎样理解C++中“如果属性有在堆区开辟的,一定要自己提供拷贝构造函数,防止浅拷贝带来的问题”? 
  怎么给设备加个usb口读其他设备上数据? 
  是 C++ 的发展进入了邪路,还是我写代码的姿势不正确? 

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





© 2025-04-21 - tinynew.org. All Rights Reserved.
© 2025-04-21 - tinynew.org. 保留所有权利