CRTP 本质:
编译期多态,基类知道派生类类型
用 static_cast<Derived*> 消除虚函数间接调用
核心价值:
短小高频函数快 3-5 倍(可内联)
enable_shared_from_this 是标准库案例
代价:
不同派生类不能放同一个容器
每实例化一次生成一份代码
CRTP 本质:
编译期多态,基类知道派生类类型
用 static_cast<Derived*> 消除虚函数间接调用
核心价值:
短小高频函数快 3-5 倍(可内联)
enable_shared_from_this 是标准库案例
代价:
不同派生类不能放同一个容器
每实例化一次生成一份代码