是否有计划使用标准的类型擦除容器?
Are there any plans for a Standard type-erasing container?
多年来,将boost功能集成到标准库中的过程已经变得很明显。
似乎,一个是有用的&boost的实际部分,即提供类型擦除的容器,已经躲过了这个过程。
-
是否有什么特别的原因(性能损失,缺乏鲁棒性)?
-
是否有任何建议将这些功能(例如
boost::any
)纳入下一个标准库? -
shared_pointer
使用类型擦除,在今天的标准库中有任何其他设施可以利用这种技术吗?
-
类型擦除通常会引入额外的间接和最终的虚函数调用,从而降低性能。
-
有一个刚刚更新的工作草案"c++扩展库基础",其中提出(除其他功能外)
boost::any
为标准。 -
std::function
它们都作为std::any
出现在c++ 17中,只是有一些不同。以及其他有用的类型构造函数:std::optional
和std::variant
。
相关文章:
- 引用一个已擦除类型(void*)的指针
- 在运行时处理类型擦除的数据-如何不重新发明轮子
- 类型擦除的std::function与虚拟函数调用的开销
- 如何在C++中允许成员函数的自定义返回类型进行类型擦除?
- 如何投射类型擦除的 std::function?
- 矢量擦除错误,无法删除不完整的类型
- C++擦除-删除类型推断失败
- 类型擦除代码的依赖注入单元测试
- 推断/擦除模板模板参数的类型
- 标准库中是否有与 std::thread 的构造函数语义匹配的类型擦除函数包装器?
- 类型擦除和一种模板方法模式
- 为什么这种类型的擦除实现(简化的 boost:any)会出现分段错误
- 在小对象优化中调试崩溃以进行类型擦除
- 带有模板复制和移动构造函数的C++类型擦除
- C++技术:类型擦除与纯多态性
- 使用类型擦除创建运行时type_traits查询
- 类型擦除是否有效取决于优化级别
- 转换为类型擦除的元组
- c++类型擦除/类型封装?发现类型
- 键入擦除类型擦除,“任何”问题