C++0x FAQ - 下一代 ISO C++ 标准 下面为上述链接部分内容,详细内容请直接跳至该链接!!!!!!!!!!!!!!!!!!!!!!!!!! 问题列表 最高一层的问题 你是怎么理解C++0x的? C++0x什么时候可以变成一个正式的标准? 什么时候编译器会实现C++0x? 什么时候会有一个可用的新标准库? C++0x会提供哪些新的语言特性?(一个列表) 参考下面的问题 C++0x会提供哪些新的标准库? (一个列表)参考 下面的问题 C++0x努力的目标是什么? 有哪些特殊的目标指引着委员会? 我在哪里可以找到委员会的报告? 我在哪里可以找到C++0x的学术或技术论文? (一个列表) 在哪里我可以阅读更多关于C++0x的内容? (一个列表) 存在有关C++0x的视频吗?(一个列表) C++0x难学吗? 委员会是如何运作的? 委员会有哪些人组成? C++0x的特性会以怎样的顺序实现? 将会有一个C++1x吗? “concepts”怎么了? 存在你不喜欢的特性吗? 关于独立语言特性的问题: __cplusplus 对齐 属性 原子操作 auto(从初始化器中推理型别) C99的特性 enum class (作用域的并且更强类型的枚举) 复制并重新抛出异常 常量表达式 (由constexpr产生和确保) decltype 默认的或删除的函数 (对默认行为的控制) 代理构造器 并行的动态初始与销毁 显示转换操作符 扩展的整数类型 外部模板 for语句,见在范围上使用for语句 后置返回型别语法 (扩展的函数声明语法) 类成员的初始化器 继承的构造器 初始化器列表 (统一且一致的初始化) lambda表达式 局部类作为模板参数 long long 整数 (至少有64位) 内存模型 移动语义,见右值引用 内联的名字空间 阻止缩小 空指针 (nullptr) PODs (广义的) 在范围上使用for语句 原始字符串字面值 右尖括号 右值引用 简单SFINAE规则 静态(编译时)断言 ( static_assert ) 模板别名 模板的typedef,参看模板别名 线程本地存储 ( thread_local ) Unicode字符 统一的初始化语法和语义 联合体 (广义的) 用户自定义字面值 可变参数模板 我经常从提案中借用示例。在这种情况下:谢谢提案的作者。有一些示例借用了我自己的讨论或提案。 有关独立的标准库设施的问题: 中止的进程 对算法库增强 array async() 原子操作 条件变量 对容器库的增加 函数与绑定 forward_list 一个单向链表 future and promise 垃圾收集ABI hash_tables,参考 unordered_map 元编程和类型特征 相互排斥 随机数发生器 regex一个正则表达式库 作用域内的分配器 shared_ptr 智能指针,参见shared_ptr、weak_ptr、unique_ptr 线程 时间例程 元组 unique_ptr unordered_map weak_ptr 系统错误 哪里可以找到C++0x相关的学术和技术论文? Hans-J. Boehm and Sarita V. Adve: C++并行内存模型基础。ACM PLDI'08. Hans-J. Boehm: 线程基础. 然而这是一个没有发表的技术报告。//介绍 Douglas Gregor, Jaakko Jarvi, Jeremy Siek, Bjarne Stroustrup, Gabriel Dos Reis, and Andrew Lumsdaine: 概念:对C++范型编程的支持。OOPSLA'06, October 2006. //在2006年独立的“概念”的设计与实现,这已经被增强,虽然没有得到充分的保存。 Douglas Gregor and Jaakko Jarvi: C++0x的可变参数模板。Journal of Object Technology, 7(2):31-51, February 2008. Jaakko Jarvi and John Freeman: C++0x的Lambda函数功能。ACM SAC '08. Jaakko Jarvi, Mat Marcus, and Jacob N. Smith: 使用C++“概念”进行编程。Science of Computer Programming, 2008. To appear. M. Paterno and W. E. Brown : 为物理学界改善C++标准。CHEP'04. //从那时起,很多得到改进。 Michael Spertus and Hans J. Boehm: C++0x的垃圾收集器的现状. ACM ISMM'09. Verity Stob: 一个新C++不全面的程序员指南——传播新标准。The Register. May 2009. (Humor (I hope)). [N1781=05-0041] Bjarne Stroustrup: 设计C++0x的规则集</>. Stroustrup: 现实世界的语言演化发展:C++ 1991-2006。ACM HOPL-III. June 2007。(incl. slides and videos). //覆盖了C++0x的目标、直到2007年的标准进程 B. Stroustrup: 什么是C++0x?。CVu. Vol 21, Issues 4 and 5. 2009。 Anthony Williams: C++0x的简单多线程。devx.com. 这个列表非常很完全——并且看上去总是落后于人们编写的新的论文。如果你发现一份文件应该在这里,但是却没有在这里,把它发送给我。此外,随着标准的最新改进,不是所有的文件都能跟上这个脚步。我会尽力保持目前的提议。 C++0x的特性会以怎样的顺序实现? 标准只给出一些说明——它要符合标准只列出所有需要。然而这时我们有一个机会来讨论如何实现这些新特性,我们有一些直观的想法。毕竟我不能使用一个没有任何实现的特性。所以这里只有一个想法(只是一个想法),这个想法基于“容易实现”的和“对多数人有用”的特性会被更早地实现: 不依赖新的语言特性的库。(如可变参数模板和constexpr) 简单的,易于实现的特性将在小处但是值得注意的地方帮助用户: auto 枚举类 long long nullptr 右括号 static_assert 帮助实现新库的语言特性(用于升级/增强标准库): constexpr 初始化器列表 一般而统一的初始化 (包括阻止缩小) 右值引用 可变参数模板 标准库都将使用的特性 并行相关的特性: 内存模型 thread_local 原子类型 局部类型作为模板参数 lambda表达式 一个完整支持并行的标准库 PODs (广义的) 如果你仔细看,你会注意到一些语言特性我并没有谈论(没有提及大约实现的时间)。当然,我想它们尽可能快地被实现,然而我没有证据说明它们会在什么被实现。显然,每个C++实现者都会有自己的优先级,所以我们不能期望他们都以相同的脚步来推进,但是我们可以期望,如果有一个实现者提前实现一个特性,其它实现都会加快实现的步伐。

评论