【发布时间】:2022-01-03 15:02:39
【问题描述】:
boost C++ 库是一个著名的沙箱,用于存储标准 C++ 的每个新版本所吸收的语言和标准库功能。然而,最终成为标准一部分的升压组件仍然存在于升压中。上述的经典示例之一是智能指针。那么为什么支持 C++11 及更高版本的 C++ 编译器需要Boost.SmartPtr?
【问题讨论】:
-
人们在生产代码中使用 Boost,因此保持兼容性是(Boost 的)目标。
-
即使被吸收的东西仍然在 boost 中继续发展(标准不允许如此迅速地发生)。例如,
boost::enable_shared_from是enable_shared_from_this的类型擦除替代方案。 -
@RichardCritten 这是一个很好的观点,我同意。
-
@StoryTeller-UnslanderMonica 这是很有价值的一点!也想过但没有好的例子
-
同样有趣的是更普遍的问题stackoverflow.com/questions/8851670/…
标签: c++ c++11 boost smart-pointers