首页 > 其他 > 详细

模板虚函数不能存在原因

时间:2019-10-24 20:03:30      阅读:112      评论:0      收藏:0      [点我收藏+]

模板是编译器在编译期间生成代码。虚函数是程序运行期间计算出调用哪个函数。

一旦程序在运行期间计算出它需要调用一个模板化的虚函数,汇编已经生成了,编译器不能再生成合适的实例了。因此,你不能使用模板虚函数。

不过,有一些强大且有趣的技术起源于结合多态和模板,尤其是所谓的 type erasure

c++模板的解释:

成员函数模板不能被声明为virtual。这个约束是强制的,因为虚函数的通常实现是使用固定大小的虚函数表,每个虚函数有一个入口。然而,模板函数的实例数不是固定的,直到整个程序被编译一遍。

模板虚函数不能存在原因

原文:https://www.cnblogs.com/zuofaqi/p/11733833.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!