c++ - 支持 C++11 的开源 STL 实现

标签 c++ c++11 stl stlport

简而言之,我正在寻找 STLPort 的替代品。 STLPort 已经有一段时间没有更新了(自 2008 年以来?)并且缺乏 C++11 支持。有谁知道任何替代方案?我需要为各种架构和各种目标操作系统使用各种工具链进行编译。

我将开始研究 GNU C++ 实现,看看它与 GCC 工具链作为替代方案的关联程度,并将返回结果。但是,如果有人在这里有任何前期知识,那就太好了。

对此的替代方案是实现各种关键的 C++11 STL 特性,如新的智能指针类型和 std::threads。最坏的情况下,我可能可以从 boost 中提取智能指针。就 pthread 或 Windows 线程而言,是否有任何 std::threads 实现?

谢谢

最佳答案

你可以看看libc++ .它是 clang 的标准 C++ 库.我没有尝试使用与 MacOS 不同的编译器或在不同的平台上编译它。虽然肯定存在编译器依赖关系,例如,在 <type_traits>以及语言支持库中的头文件(例如 <exception><type_info> 等),我可以想象大部分代码都可以与其他编译器一起编译。

你已经提到了libstdc++这似乎与 gcc 以外的其他编译器一起工作正常,至少在 Linux 和 MacOS 上:clang用于在 MacOS 上使用 libstdc++。但是,我现在不高兴 libstdc++ 与其他编译器一起编译。

对于特定的类,例如std::shared_ptr<T>std::thread一组类,您可以从 Boost 获得合适的替换实现.

关于c++ - 支持 C++11 的开源 STL 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20091289/

相关文章:

c++ - boost 协程 2 的意外输出

c++ - 检查 vector 是否为二进制的快速而紧凑的方法

c++ - 如何在 map 和 unordered_map 之间进行选择?

c++ - 如何通过引用增强迭代用户定义对象类型集 (STL) 的数组元素?

c++ - 如何调试 C++ 段错误?

c++ - QT多线程和更新GUI

c++ - 如何从 std::exception 动态转换为 std::nested_exception?

c++ - 创建new object()时如何调用基类构造函数new base(argC argV)?

c++ - `const T` 和 `T` 在采用嵌套类型时没有区别吗?

c++ - std::is_signed 不适用于强类型枚举:int