标题可能没有太多意义,所以我将从一些代码开始:
class Foo : public std::vector<Foo> { }; ... Foo f; f.push_back( Foo() );
为什么编译器允许这样做?我的大脑在这个阶段正在融化,所以有人能解释一下你是否有任何理由想这样做吗?不幸的是,我刚刚在一些生产C代码中看到了类似的模式,我想知道为什么有人会使用这种模式。
有人能解释一下你为什么要这么做吗?
Curiously recurring template pattern .