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



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

  

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

我用过。

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

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




  

相关话题

  求助:C++中应该怎样理解实参和形参的区别? 
  如果要改进C语言,您最希望添加哪些语言特性,移除哪些语言特性? 
  如何滴水不漏的学完C语言? 
  C++ 父类对象赋值给子类对象是未定义行为么? 
  C语言中,为什么指向指针的指针的类型是int **?类型的话直接int*不就行了? 
  为什么c++中要分为heap(堆)和stack(栈)? 
  如果人生有的选,18岁的你凭实力拿到清北录取通知书和因为房产红利变成资产总量三千万的家庭,选哪个? 
  为什么 C++ 中一个类的成员类型不能是该类本身,而 C# 中就可以? 
  C++中lambda表达式中捕获的值变量存在哪? 
  C++ 中,如果指针换了被指向的东西,那被指向的原来的东西(是被 new 出来的)所占的内存会立刻被释放吗? 

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





© 2025-05-15 - tinynew.org. All Rights Reserved.
© 2025-05-15 - tinynew.org. 保留所有权利