当前位置: 首页 > news >正文

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新标准,你应该阅读一下。

最后,祝大家阅读愉快:)

—————————————————————————

目录

  • Stroustrup先生关于中文版的授权许可邮件
  • Stroustrup先生关于C++11 FAQ的一些说明

关于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

相关文章:

  • AVC1与H264的差别
  • sql点滴42—mysql中的时间转换
  • EucOne调试
  • 产品经理入职第一个月要做的12件事
  • 【转自ITPUB】SYNONYM关于underlying table权限的小小发现
  • allocator 的用法
  • IOS 绘制图表
  • Array types are now written with the brackets around the element type
  • linux_apache服务知识总结(二)(关于用户的访问控制及编译安装)
  • 特定字符输出及二分搜索 简单面试编程题
  • 【翻译】EXTJS 编码风格指南与实例
  • 操作符.*
  • Datax与hadoop2.x兼容部署与实际项目应用工作记录分享
  • 网站伪静态的好处与坏处
  • Android ListView只加载当前屏幕内的图片(解决list滑动时加载卡顿)
  • 【347天】每日项目总结系列085(2018.01.18)
  • C# 免费离线人脸识别 2.0 Demo
  • chrome扩展demo1-小时钟
  • Django 博客开发教程 8 - 博客文章详情页
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • Linux下的乱码问题
  • Python十分钟制作属于你自己的个性logo
  • React-Native - 收藏集 - 掘金
  • REST架构的思考
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 浮现式设计
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 力扣(LeetCode)56
  • 两列自适应布局方案整理
  • 强力优化Rancher k8s中国区的使用体验
  • 如何设计一个比特币钱包服务
  • 数据可视化之 Sankey 桑基图的实现
  • 一些关于Rust在2019年的思考
  • k8s使用glusterfs实现动态持久化存储
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ​secrets --- 生成管理密码的安全随机数​
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • $(function(){})与(function($){....})(jQuery)的区别
  • (31)对象的克隆
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (ZT)薛涌:谈贫说富
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (六)软件测试分工
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (三) diretfbrc详解
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (学习日记)2024.01.09
  • (一)SpringBoot3---尚硅谷总结
  • (转)setTimeout 和 setInterval 的区别
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**