一个明显的区别,struct of function pointers可以运行时创建,虚表不行。例如我根据配置文件决定某几个operation分别用哪个实现,这你用虚表就组合爆炸了。
具体这个场景有没有必要不清楚,但总的来说手写的有这个好处。
【 在 vonNeumann 的大作中提到: 】
: Linux kernel 里面的 struct file_operations 不就是虚表吗
: 用 C 人肉写一个能用,看不出来有啥本质原因就不能用编译器生成出来的,最多给 G++ 提个需求加个 __attribute__((vtable_section("..."))) 之类的东西应该就差不多了
--
FROM 58.37.58.*