了解C ++ 0x功能

时间:2009-12-16 08:06:51

标签: c++ c++11

了解新C ++ 0x功能的好地方是什么?我知道他们可能还没有完全确定,但是开始先行会很好。另外,编译器目前支持哪些编程器?

6 个答案:

答案 0 :(得分:11)

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

答案 1 :(得分:3)

对于VC ++ 2010,这里是将要出现的事项列表。

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

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

库:

  • <stdint.h> / <cstdint>以及所有typedef(最后!)
  • std::unique_ptrstd::shared_ptrstd::weak_ptr
  • std::forward_list
  • std::tuple及相关内容(例如tieget ...)
  • <system_error>
  • <type_index>

什么是

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

答案 2 :(得分:3)

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

编译器:

PAPER(S)
惠普aCC
EDG eccp
GCC
英特尔C ++
MSVC
IBM XLC ++
Sun C ++
C ++ Builder 2009/10

答案 3 :(得分:0)

不是重复但你可以得到一些答案here 有两个草稿链接和一个实现C ++ [0 | 1] x特性

的编译器列表

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

这与语言功能无关,但您可能需要查看TR1。这是一个库的规范,最有可能使它成为C ++ 0x。

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