C++11 FAQ中文版--转
更新至英文版October 3, 2012
译者前言:
经过C++标准委员会的不懈努力,最新的ISO C++标准C++11,也即是原来的C++0x,已经正式发布了。让我们欢迎C++11!
今天获得Stroustrup先生的许可,开始翻译由他撰写和维护的C++11 FAQ。我
觉得这是一件伟大而光荣的事情,但是我又觉得压力很大,因为我的英语水平很差劲,同时自己的C++水平也很有限,很害怕在翻译过程中出现什么错误,贻笑大方不要紧,而误人子弟就罪过大了。所以,我这里的翻译只能算是抛砖引玉,如果你的英文很好,你可以直接阅读他的原文。或者,你也可以参照两者进行阅读,我想一定会有更多的收获。
当然,我也非常欢迎大家指出翻译中的错误,或者是加入进来和我一起翻译这份文档,共同为C++11在中国的推广做一点事情。你可以通过chenlq at live.com联系到我。
对自己的翻译做一点说明:
- 在翻译的过程中,尽量遵照原文含义,可能有时候也会自己根据自己的理解加一点批注,希望可以帮助大家理解。
- 另外,虽然C++11刚刚公布,但是现在已经有很多编译器支持C++11中一些相对比较独立的特性,比如gcc以及它在Windows下的MinGW,Visual C++ 2012也部分支持,大家可以使用这三款编译器尝试这个文档中的部分例子。
- 在下面的目录中,已经翻译的问题链接到相应的中文文档,未翻译的问题则链接到英文原文。
感谢所有参与翻译的志愿者(排名不分先后):interma,Chilli,张潇,dabaidu,Yibo Zhu,lianggang jiang,nivo,陈良乔
感谢所有参与审阅与校译的志愿者: ufouser
在这里有一份Stroustrup先生关于C++11的访谈,可以帮助你从更高地角度把握整个C++11新标准,你应该阅读一下。
最后,祝大家阅读愉快:)
—————————————————————————
目录
关于C++11的一般性的问题:
- 您是如何看待C++11的?
- 什么时候C++11会成为一部正式的标准呢?
- 编译器何时将会实现C++11标准呢?
- 我们何时可以用到新的标准库文件?
- C++11将提供何种新的语言特性呢?(请参考以下关于语言特性的问题)
- C++11会提供哪些新的标准库文件呢?(请参考以下关于标准库的问题)
- C++11努力要达到的目标有哪些?
- 指导标准委员会的具体设计目标是什么?
- 在哪里可以找到标准委员会的报告?
- 从哪里可以获得有关C++0x的学术性和技术性的参考资料?
- 还有哪些地方我可以读到关于C++11的资料?
- 有关于C++11的视频吗?
- C++11难学吗?
- 标准委员会是如何运行的?
- 谁在标准委员会里?
- 实现者应以什么顺序提供C++11特性?
- 将会是C++1x吗?
- 标准中的”concepts”怎么了?
- 有你不喜欢的C++特性吗?
关于独立的语言特性的问题:
- __cplusplus宏
- alignment(对齐方式)
- attributes(属性)
- atomic operations
- auto——从初始化中推断数据类型
- C99功能特性
- 枚举类——具有类域和强类型的枚举
- [[carries_dependency]]
- 复制和重新抛出异常
- 常量表达式(constexpr)
- decltype – 推断表达式的数据类型
- 控制默认函数——默认或者禁用函数
- 控制默认函数——移动(move)或者复制(copy)
- 委托构造函数(Delegating constructors)
- 并发性动态初始化和析构
- noexcept – 阻止异常的传播与扩散
- 显式转换操作符
- 扩展整型
- 外部模板声明
- 序列for循环语句
- 返回值类型后置语法
- 类成员的内部初始化
- 继承的构造函数(inherited constructors)
- 初始化列表
- 内联命名空间(inline namespace)
- Lambdas
- 用作模板参数的局部类型
- long long(长长整数类型)
- 内存模型
- move语义(参见右值引用)
- 预防窄转换
- [[noreturn]]
- nullptr——空指针标识
- 对重载(override)的控制: override
- 对重载(override)的控制:final
- PODs
- range for statement(参见序列for循环语句)
- 原生字符串标识
- 右角括号
- 右值引用
- Simple SFINAE rule
- 静态(编译期)断言 — static_assert
- 模板别名(正式的名称为”template typedef”)
- template typedef(参见模板别名)
- 线程本地化存储 (thread_local)
- unicode字符
- 统一初始化的语法和语义
- (广义的)联合体
- 用户定义数据标识(User-defined literals)
- 可变参数模板(Variadic Templates)
我经常从提案中借用一些例子。所以,我要感谢这些提案的作者们。另外,我也从自己的访谈和论文中借用了很多例子。
关于标准库的问题:
- abandoning_a_process
- 算法方面的改进
- array(数组)
- async()函数
- atomic_operations
- Condition variables(条件变量)
- 容器(Container)方面的改进
- std::function 和 std::bind
- forward_list – a singly-liked list
- future and promise
- 垃圾回收(应用程序二进制接口)
- 无序容器(Unordered containers)
- 锁(locks)
- metaprogramming(元编程) and type traits
- 互斥
- 随机数的产生
- 正则表达式(Regular expressions)
- 具有作用域的内存分配器
- 共享资源的智能指针shared_ptr
- smart pointers 请参考shared_ptr, weak_ptr, 和unique_ptr
- 线程(thread)
- 时间工具程序
- 标准库中的元组(std::tuple)
- unique_ptr
- 无序容器(Unordered containers)
- weak_ptr
- system error
C++11 FAQ中文版--转的更多相关文章
- Win 7下破解Loadrunner 11(带中文版下载地址)
空间管理您的位置: 51Testing软件测试网 » 测试是一种生活态度 » 日志 与您一起分享在测试过程中的快乐与辛酸... Win 7下破解Loadrunner 11(带中文版下载地址) 上一篇 ...
- c++ 11 游记 之 decltype constexpr
title: c++ 11 游记 1 keyword :c++ 11 decltype constexpr 作者:titer1 zhangyu 出处:www.drysaltery.com 联系:130 ...
- C++11中的raw string literals
作为一名C++书看得少得可怜的新手,我一直没有勇气去系统地学习一下C++ 11添加的新特性.不过,平日里逛论坛,阅读大犇们的博客,倒是了解了一些.比如,这个帖子: 如何绕过g++ 4.8.1那个不能在 ...
- 学了C语言,如何利用cURL写一个程序验证某个网址的有效性?
在<C程序设计伴侣>以及这几篇关于cURL的文章中,我们介绍了如何利用cURL写一个下载程序,从网络下载文件.可是当我们在用这个程序下载文件时,又遇到了新问题:如果这个网址是无效的,那么我 ...
- C++中多线程与Singleton的那些事儿
前言 前段时间在网上看到了个的面试题,大概意思是如何在不使用锁和C++11的情况下,用C++实现线程安全的Singleton. 看到这个题目后,第一个想法就是用Scott Meyer在<Effe ...
- 关于std::bind的文章收集
C++11 FAQ中文版:std::function 和 std::bind 2011-03-02 16:25 by 陈良乔 常规性地介绍了function和bind的使用,还不会用的同学可以看看 b ...
- VS2010对C++11的支持列表(感觉大部分都不支持)
c++11,就是之前的c++0x,已经成为了最新的c++标准.像咱这样天天用c++的,就赶紧follow一下.学习成果,放在这里,不说分享,至少自己增强下记忆. 首先,给出一些有用的链接. http: ...
- Navicat Premium 12.1.11.0安装与激活
本文介绍Navicat Premium 12.1.11.0的安装.激活与基本使用. 博主所提供的激活文件理论支持Navicat Premium 12.0.x系列和Navicat Premium 12. ...
- C++11新特性——The C++ standard library, 2nd Edition 笔记(一)
前言 这是我阅读<The C++ standard library, 2nd Edition>所做读书笔记的第一篇.这个系列基本上会以一章一篇的节奏来写,少数以C++03为主的章节会和其它 ...
随机推荐
- Servlet之编码过滤
创建CharactorFilter类,实现javax.servlet.Filter接口: package com.caiduping; import java.io.IOException; impo ...
- PHP自定义日期英文格式 Feb 11,2015
背景:[PHP小工具]项目中,经常会要求多版本语言支持,而日期也是必不可少的组成元素. 英文日期书写顺序分英式和美式,举例如. 美国:月日年(January 8th,2014 或 January 8, ...
- 集成产品开发-IPD简介
内训IPD流程,听完后,觉的流程的力量很强大,可以高效的团队几千上万人的研发团队,来正确地为同一个目标前进.因为讲解者是从华为出来的,所以,相关的案例分析以及理解,都是以华为研发为模板来讲解的.这没错 ...
- OD常用断点
OD常用断点 很全很全 常用断点 拦截窗口: bp CreateWindow 创建窗口 bp CreateWindowEx(A) 创建窗口 bp ShowWindow 显示窗口 bp UpdateWi ...
- HTML5新增结构标签
引言 在本节中,笔者将向大家讲述三部分内容,分别介绍HTML5时代的召唤,跟HTML4的区别,以及HTML5中带来的新的结构标签. HTML5时代的召唤 HTML4与HTML5的区别 HTML5新结构 ...
- Hibernate 老外的完整教程
http://viralpatel.net/blogs/hibernate-many-to-many-annotation-mapping-tutorial/
- 中科红旗倒下,谁来挑战windows
中科红旗解散 国产操作系统从此梦断 2月10日,关门上锁的中科红旗北京总部大门上粘贴了一张最新公告,这张公告彻底击破了那些仍然坚守公司工作的员工“拯救中国红旗”的希望.该公告称:因北京中科红旗软件技术 ...
- mysql实例 保存查询结果到变量
本文介绍下,一个mysql的例子,将查询到的数据结果保存到一个变量中.有需要的朋友可以参考下. 本代码演示: 将mysql查询结果保存到变量中的方法. 代码: view source print? 0 ...
- cxgrid HyperLink 鼠标显示效果
procedure TForm1.cxGrid1DBTableView1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); v ...
- java 中的异常处理
一. 异常的概念和Java异常体系结构 异常是程序运行过程中出现的错误.本文主要讲授的是Java语言的异常处理.Java语言的异常处理框架, 是Java语言健壮性的一个重要体现. Java把 ...