thrift中的TVirtualTransport实现方式比较奇怪,没有用一般的方法——把函数定义成虚函数,来实现多态。这种实现我实在是想不出有什么好处,所以我就认为是作者故意在卖弄奇技淫巧。下面介绍它的原理:
class Base
{
public:
void foo()
{
foo_virt();
}
virtual void foo_virt(){
}
}
template<typename Devr, typenam