1. std::visit对于std::variant,比较 virtual function对于virtual base,要少一次函数指针跳转,而且,因为用到std::variant的地方基本都是模板了,所以如果在编译时就能判断std::variant里的类型,std::visit更快
2. 因为不需要统一的virtual base,增加删除新的interface非常方便,耦合度小
3. std::vector,之类的container里不需要再传指针,可以直接在container里连续内存储存
【 在 fanci 的大作中提到: 】
: std::variant 相比于虚基类如何提升了性能?
--
FROM 115.193.172.*