【问题标题】:Learning about C++ 0x features学习 C++ 0x 特性
【发布时间】:2010-12-27 03:37:40
【问题描述】:

什么是了解 C++ 0x 新特性的好地方?我知道他们可能还没有完全敲定,但如果能抢先一步就好了。另外,目前有哪些编译器支持它们?

【问题讨论】:

  • 不是重复的,但你可以得到一些答案here 有草稿的链接和正在实现 C++[0|1]x 功能的编译器列表
  • 部分重复:stackoverflow.com/questions/200237/…。它没有谈论编译器支持。

标签: c++ c++11


【解决方案1】:

了解它的一种简单而有趣的方法是观看C++0x Overview Google Techtalk。另一个很好的来源是 Bjarne Stroutstrup 的 C++0x FAQ,它涵盖了大部分新功能。

【讨论】:

    【解决方案2】:

    有关编译器支持,您可以查看此处:C++0xCompilerSupport

    编译器:

    纸张
    惠普 aCC
    EDG eccp
    海合会
    英特尔 C++
    MSVC
    IBM XLC++
    Sun C++
    C++ 生成器 2009/10

    【讨论】:

      【解决方案3】:

      对于 VC++2010,这里列出了一些内容。

      语言(其中一些已经在 VC2008 中作为语言扩展):

      • lambdas
      • static_assert
      • autodecltype
      • 右值引用 (T&&)
      • nullptr
      • extern template(注意:不是export!)
      • long long
      • 在嵌套模板中关闭> 之间不需要空格(例如vector<vector<int>> 是合法的)

      图书馆:

      • <stdint.h> / <cstdint> 以及其中的所有类型定义(终于!)
      • std::unique_ptrstd::shared_ptrstd::weak_ptr
      • std::forward_list
      • std::tuple 和相关的东西(例如tieget...)
      • <system_error>
      • <type_index>

      什么是

      • 初始化器列表(奇怪的是,标题 <initializer_list> 在那里并包含相应的类型,但在 beta 2 中似乎没有语言支持)
      • 可变参数模板
      • constexpr
      • 基于范围的for(尽管语言扩展for each,大部分相似,仍然存在)
      • 统一初始化语法{}
      • 替代函数语法(模仿 lambda)
      • 构造函数委托
      • 同一行成员字段初始化器
      • [[override]](但 override 仍然是语言扩展)
      • =default=delete 成员
      • enum class
      • using 用于类型别名和模板 using
      • char16_tchar32_t,以及对应的字符串字面量
      • 原始和用户定义的字符串文字
      • sizeof 在没有对象实例的实例字段上
      • std::thread和朋友们

      【讨论】:

      【解决方案4】:

      您当然应该知道ISO/IEC JTC1/SC22/WG21 的官方工作组网站。这有委员会的信息,所以它包含正在开发的官方文件。但是,它不一定是了解 C++0x 各种建议想法背后的背景想法的最佳场所。

      另一个值得关注的地方是comp.std.c++ 新闻组;这通常对可能的特征的细节进行深奥的讨论。

      【讨论】:

        【解决方案5】:

        这与语言功能无关,但您可能想看看TR1。这是一个库规范,最有可能将其纳入 C++0x。

        它有实际的实现,因此您可以立即使用它(例如 Microsoft 的 VC++ implementation)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-08-09
          • 1970-01-01
          • 2010-09-15
          • 1970-01-01
          • 2011-02-25
          • 1970-01-01
          • 2011-01-05
          相关资源
          最近更新 更多