今天来聊聊 C++ Eigen 中的一个技巧——奇异递归模板模式(curiously recurring template pattern),简写为CRTP。
这篇博客也是我边看、边查、边理解的一个过程。如有错误,希望大神留言指正。
原来已经稍微接扫了几眼这个技术,在我粗浅的认识中,他在编译期通过模板,实现了大家用的比较多的运行时多态。我们来看看这个代码:
class Base
{
public:
virtual void Do() = 0;
};
class Derived_1 : public Base
{
public:
virtual void Do() override
{
cout << "DoWork 1" << endl;
}
};
class Derived_2 : public Base
{