compare-between-crtp-and-virtual

我们平时都会使用虚函数来实现 C++ 里的运行时的多态,但是虚函数会带来很多性能上面的问题:

虚函数的调用需要额外的寻址

虚函数不能被 inline,当使用比较小的虚函数的时候会带来很严重的性能负担

需要在每个对象中维护一个额外的虚函数表

但是在有些情况下,我们就可以用一些静态的类型分发策略来带来一些性能上面的好处。

一个传统的例子struct VirtualInterfa......