【问题标题】:Where is the std equivalent of boost::shared_polymorphic_downcast in C++11?C++11 中 boost::shared_polymorphic_downcast 的 std 等价物在哪里?
【发布时间】:2011-06-12 00:15:22
【问题描述】:

boost::shared_polymorphic_downcast 和其他 boost::shared_ptr 函数驻留在 <boost/shared_ptr.hpp>

我最近使用-std=c++0x 在 GCC 中启用了对 C++11 的支持。为了避免混淆,我从boost::shared_ptr 移动到std::shared_ptr,它位于#include <memory>

但是,shared_polymorphic_downcast 似乎不是std 命名空间的一部分,也不包含在#include <memory> 中。

你知道它在哪里吗?我错过了弃用备忘录吗;-)

【问题讨论】:

  • 无法弃用从未出现过的功能。
  • 大声笑,是的,我是在开玩笑。我经常错误地模糊了流行的 Boost 功能和 STL 之间的界限。

标签: c++ boost stl c++11 shared-ptr


【解决方案1】:

您需要std::static_pointer_caststd::dynamic_pointer_cast,具体取决于您是否需要static_castdynamic_cast 行为。

Boost 的 Smart Pointers 库的最新版本也包含这些用于 boost::shared_ptr 的函数。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-21
  • 1970-01-01
相关资源
最近更新 更多