c++ - C++11 标准是否提供类似 boost::any 的东西?

标签 c++ c++11 boost boost-any stdany

例如 boost::function几乎全部移至 std::function , boost::shared_ptr 也是如此

但我找不到 std::any ? 是改名了还是根本没有放在新标准中?

最佳答案

自从提出问题以来,我们将 std::experimental::any 作为 optional功能被 C++14 标准否决。

当时是 implemented至少在 GCC 5.1 中。

从那时起,该功能在 C++17 中标准化,导致 std::any .另见 C++17 的 std::variant对于一个类型安全的 union ,它要么持有有限的已知类型替代品之一,要么是空的(感谢 remy-lebeau 的提示)。

关于c++ - C++11 标准是否提供类似 boost::any 的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9195078/

相关文章:

c++ - 在 C++ 线程内实现多个计时器的最安全方法

c++ - Mac OS X 10.6.8 上的 gcc-4.2.1 中不存在 strnlen - 如何定义它?

C++,#include 问题!

c++ - 如何使用模板专门化模板?

c++ - 为什么在抛出 'range error' what()实例后调用终止: 'Range Error' -1

c++ - 如何将 boost::shared_ptr<T> 后面的完整对象深度复制到指向新位置的 shared_ptr?

c++ - boost::phoenix 相当于什么?

c++ - 如何将构造函数参数转发给 boost::optional

c++ - 更改结构元素的常量

c++ - 序列化部分工作 - boost::asio