【问题标题】:stl TR1 features documentation for gcc [closed]stl TR1 为 gcc 提供文档 [关闭]
【发布时间】:2011-11-24 15:47:10
【问题描述】:

gcc 对 C++11 语言特性的支持在 http://gcc.gnu.org/projects/cxx0x.html 中有详细记录。然而,TR1 指定了编译器必须(应该?)支持的几种数据结构和算法(例如tuplebind ...)。

注意:它们中的一些依赖于特定的语言特性(tuple 依赖于可变参数模板[>= gcc 4.3]),因此它们在尚不支持所述特性的 gcc 版本中不可用,但它们是第一个支持上述功能的 gcc 版本不一定支持。

对于 TR1 功能的 gcc 支持是否有类似的列表,例如语言功能?

注意:我正在尝试编译 C++11 功能列表,并希望包含您可以用于每个单独功能的第一个 gcc 版本,因此仅知道我当前的版本是不够的成功了(我可以轻松测试)。

【问题讨论】:

    标签: c++ stl documentation tr1


    【解决方案1】:

    TR1 不是 C++ 标准的一部分,任何 C++ 编译器都不需要支持 TR1。 C++11 中包含的 TR1 版本的功能(例如元组和绑定)不使用新的 C++11 语言功能,因为 TR1 为 C++03 编译器指定了库功能。例如,TR1 tuple 不使用可变参数模板,TR1 bind 不使用完美转发。

    此外,TR1 功能在被采用为标准之前也有一些更改,因此使用 TR1 的代码可能与使用 C++11 的代码不同。例如,名称更改(例如,uniform_int -> uniform_int_distribution)并删除了部分(例如,将随机引擎绑定到发行版的工具被删除,以支持更通用的绑定工具)

    不幸的是,stdllibc++ 中似乎没有任何关于 TR1 支持的全面文档。如果您正在编译 C++11 功能列表,您可能根本不想包含 TR1。如果您仍然想包含 TR1,请记住 TR1 支持可能先于对该功能的 C++11 版本所需的语言功能的支持。

    【讨论】:

    • 谢谢,这让我们有所了解。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-11
    • 1970-01-01
    • 2013-10-10
    • 2012-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多