QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5125|回复: 14
打印 上一主题 下一主题

深入理解C++11:C++11新特性解析与应用

[复制链接]
字体大小: 正常 放大

377

主题

148

听众

6001

积分

升级  20.02%

  • TA的每日心情
    奋斗
    2016-7-14 13:54
  • 签到天数: 219 天

    [LV.7]常住居民III

    社区QQ达人 元老勋章 发帖功臣 新人进步奖 优秀斑竹奖 金点子奖 原创写作奖 最具活力勋章 助人为乐奖 风雨历程奖

    群组2015年美赛冲刺

    群组高等数学串讲

    群组2014第三期英语写作

    群组SAS数据分析大赛冲刺

    群组2015美赛优秀论文解析

    跳转到指定楼层
    1#
    发表于 2014-7-25 10:30 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    本帖最后由 数学中国—罂粟 于 2014-7-25 10:31 编辑 ! [9 s; Y  g% b" A" i, p. s

    + T: N9 L; e0 z" ]0 O( I内容简介
    # O1 k8 w: F$ m1 `6 K深入理解C++11:C++11新特性解析与应用》内容简介:国内首本全面深入解读C++11新标准的专著,由C++标准委员会代表和IBM XL编译器中国开发团队共同撰写。不仅详细阐述了C++11标准的设计原则,而且系统地讲解了C++11新标准中的所有新语言特性、新标准库特性、对原有特性的改进,以及如何应用所有这些新特性。
    & Y; I3 c- ^# ~; `  d深入理解C++11:C++11新特性解析与应用》一共8章:第1章从设计思维和应用范畴两个维度对C++11新标准中的所有特性进行了分类,呈现了C++11新特性的原貌;第2章讲解了在保证与C语言和旧版C++标准充分兼容的原则下增加的一些新特性;第3章讲解了具有广泛可用性、能与其他已有的或者新增的特性结合起来使用的、具有普适性的一些新特性;第4章讲解了C++11新标准对原有一些语言特性的改进,这些特性不仅能让C++变得更强大,还能提升程序员编写代码的效率;第5章讲解了C++11在安全方面所做的改进,主要涵盖枚举类型安全和指针安全两个方面的内容;第6章讲解了为了进一步提升和挖掘C++程序性能和让C++能更好地适应各种新硬件的发展而设计的新特性,如多核、多线程、并行编程方面的新特性;第7章讲解了一些颠覆C++一贯设计思想的新特性,如lambda表达式等;第8章讲解了C++11为了解决C++编程中各种典型实际问题而做出的有效改进,如对Unicode的深入支持等。附录中则介绍了C++11标准与其他相关标准的兼容性和区别、C++11中弃用的特性、编译器对C++11的支持情况,以及学习C++11的相关资源。+ {% f% j" a- ]) F" ]
    . E# h+ Z, c# m+ @3 ~8 S# r; b
    编辑推荐9 C) O1 l; J4 B; Y* V
    深入理解C++11:C++11新特性解析与应用》编辑推荐:C++标准委员会成员和IBM XL编译器中国开发团队共同撰写,权威性毋庸置疑。系统、深入、详尽地讲解了C++11新标准中的新语言特性、新标准库特性、对原有特性的改进,以及所有这些新特性的应用。$ Y- q' J  f- Z  o7 Q1 D5 _! w3 `: D2 J
    4 ~6 O5 u6 r/ q$ d6 T7 |* H
    作者简介/ H' \3 P3 W& s  B' o% _7 K
    作者:(加拿大)Michael Wong IBM XL编译器中国开发团队
    7 X* k/ i/ i( N4 U& ^& [5 U8 K1 f0 J  v- c9 N' {
    Michael Wong,C++11标准委员会(WG21)委员,WG21加拿大代表团团长及IBM公司代表(投票人),WG21 SG5(transactional Memory study group)学习小组组长。除此之外,Michael还是OpenMP委员会的CEO,SCC(Standards Council of Canada)的副主席。
    ) l! u% w2 J3 ^3 R0 w# kMichael是多个C++11/OpenMP/STM新特性的合作编写者,活跃于各种技术会议,而且为Programming Committee of Boost以及IWOMP等国际会议服务。Michael也是IBM公司的高级技术专家,领导IBM XL C++编译器、XL C编译器的开发工作,当前致力于IBM编译器的C++11新特性部署。Michael在并行编程、C++基准测试、对象模型、泛型编程、模板元编程等多个技术领域均有涉猎,并且在对象模型以及事务内存等方面取得过多个专利。
    3 u$ l$ u3 u6 a早年Michael于多伦多大学获取得了天体物理学的学士学位,并在滑铁卢大学获得了硕士学位。在加入IBM之前,Michael曾先后供职于大卫?邓禄普天文台(David Dunlap Observatory),CDC公司(Control Data Corporation),BMO Nesbitt Burns公司等。
    ; J8 I; E5 q& u/ \" @; x$ t9 [IBM XL编译器中国开发团队,IBM拥有悠久的编译器开发历史(始于上世纪80年代),在全球有将近400名高素质工程师组成的研发团队,其中包括许多世界知名的研究学者和技术专家。IBM一直以来都是编程语言的制定者和倡导者之一,并将长期在编译领域进行研发和投资。IBM编译器中国开发团队于2010年在上海成立,现拥有编译器前端开发人员(C/C++)、后端开发人员、测试人员,以及性能分析人员共16人。团队与IBM北美编译器团队紧密合作,共同开发、测试和发布基于POWER系统的AIX及Linux平台下的XL C/C++和XL Fortran系列产品,并对其提供技术支持。虽然团队成立时间不长,但已于2012年成功发布最新版本的XL C/C++ for Linux V12.1 & XL Fortran for Linux V14.1,并获得7项发明专利。团队成员拥有较丰富的编译器开发经验,对编译技术、编程语言、性能优化和并行计算等各领域都有一定的研究,也对C++11标准的各种新特性有较早的研究和理解,并正在实际地参与C++11新特性的开发工作。
    # f9 Y" C4 r4 s* ^, n% J) G" D4 i! ^& N4 c6 N/ m
    目录免责声明
    , A7 A+ c/ Q2 Y1 o1 H& A5 M8 M0 W6 I) W" L7 z
    前言
    % z! y8 `' H6 b, w+ I) ?$ j1 ^第1章新标准的诞生1
    2 N$ O4 R, d2 F8 U2 s/ \9 T7 L1.1曙光:C++11标准的诞生1
    6 Y2 v- T) m" A1 l& X. o. `  J1.1.1C++11/C++0x(以及C11/C1x)——新标准诞生19 @, @9 B: n* O" x& o
    1.1.2什么是C++11/C++0x2
    " Z  ~9 }5 Y- L" X9 X1.1.3新C++语言的设计目标3
    + \7 {8 X% ]( p4 ~5 r- z1.2今时今日的C++5
    % S1 w9 W7 {: W1.2.1C++的江湖地位5- f; ?* b: V/ B5 a: m- V( r
    1.2.2C++11语言变化的领域5! N8 B% g$ ^7 [# c: S" B
    1.3C++11特性的分类7
    ) r) b5 Z0 k6 Q) H1.4C++特性一览11
    ! ^: m% \) Y: V6 R1.4.1稳定性与兼容性之间的抉择11
    1 i) b- l/ w2 }+ ?& D4 [- g1.4.2更倾向于使用库而不是扩展语言来实现特性12
    - X6 l% h; J$ K7 N& h# H4 k! j1.4.3更倾向于通用的而不是特殊的手段来实现特性13- ^" u- d. s: d( g
    1.4.4专家新手一概支持13
    0 R$ Y: S4 n+ J+ D! i0 W1.4.5增强类型的安全性148 p% s9 x! s1 x/ u
    1.4.6与硬件紧密合作14
    3 u% `! c" I  `5 t" b* _1.4.7开发能够改变人们思维方式的特性15
    $ P) \3 R8 V4 _8 M4 h$ L& _1 t. e1.4.8融入编程现实16' v4 L8 D- k5 `0 w
    1.5本书的约定17; G4 ~  G1 f/ E; I2 J
    1.5.1关于一些术语的翻译17& Z6 t+ b1 ?* B$ F8 I% P
    1.5.2关于代码中的注释17: |  x5 r* `/ m1 ^+ i9 ?: J
    1.5.3关于本书中的代码示例与实验平台18! p9 }) U8 l) [+ d; E
    第2章保证稳定性和兼容性19: a  w( y5 f, Y1 V
    2.1保持与C99兼容19
    ' i0 {* P% x1 A& t0 N9 M2.1.1预定义宏19/ F' {6 `: s7 F% L
    2.1.2_func_预定义标识符20' C- p1 J; c* n0 d( f* b+ X
    2.1.3_Pragma操作符22
    0 y1 Y- j3 n* s" N- J2.1.4变长参数的宏定义以及_VA_ARGS_22/ l1 G9 `6 [, w
    2.1.5宽窄字符串的连接23
    - u4 s& a8 f/ l/ o3 n$ t2.2longlong整型23
    ! @. ~0 T) {8 M" `+ l6 X5 r6 f2.3扩展的整型25
    - M  L4 H* l$ ~& z! M2.4宏_cplusplus26% w: p: e) R9 O- Q( B. ?
    2.5静态断言27
    ! h5 Q+ s7 G( D% [9 `2.5.1断言:运行时与预处理时27: W! u9 }4 |3 d- z
    2.5.2静态断言与static_assert28% Q" e9 I& T! P4 N) g/ J% T
    2.6noexcept修饰符与noexcept操作符32
    $ \( ], K$ Q& M2 K5 i, y2.7快速初始化成员变量36
    ! e+ Z3 p% k4 y( @) \& x( E2.8非静态成员的sizeof390 m% k/ A% C8 }; }/ d8 q
    2.9扩展的friend语法40- @" F* E9 I& L% H. F/ h0 Y
    2.10final/override控制44
    ( M/ b5 ^+ L7 b2.11模板函数的默认模板参数48" a. p( v. ?" [8 p4 @5 N9 ^6 T7 H! X
    2.12外部模板50
    8 E" E$ e7 S" t- w( k2.12.1为什么需要外部模板50. p* k; c$ O0 _, b/ T: B5 G0 e
    2.12.2显式的实例化与外部模板的声明528 t& N+ D# r. w2 B1 [4 T7 P
    2.13局部和匿名类型作模板实参543 A1 c, S% J  Y! s3 m+ T
    2.14本章小结55
    5 z: t( F, Q: v" G1 J第3章通用为本,专用为末57
    + F  o1 A3 b5 B; t1 ?5 T+ h3.1继承构造函数57( F( s+ z5 Z1 m- E6 f
    3.2委派构造函数62
    ; y8 N! @- m4 o, L& p0 b$ O1 n3.3右值引用:移动语义和完美转发68; w' y9 B4 o0 K6 U% I& [
    3.3.1指针成员与拷贝构造680 q- D2 _( l4 q4 K% W
    3.3.2移动语义69% J/ n! ?, R) ]( ^
    3.3.3左值、右值与右值引用75
    / q% ?( |- C$ [, o- {9 ^( i3.3.4std:move:强制转化为右值80
    - L0 K% i. t1 t# }8 o3.3.5移动语义的一些其他问题82# `: ]# F9 T: j% S
    3.3.6完美转发85
    - N- J4 y# |% E% a  Y' m' o3.4显式转换操作符89% Z, F# `& |7 W
    3.5列表初始化92
    ; O; }/ m4 P/ f3.5.1初始化列表92
    6 d6 f3 G& a; u3 C! D3.5.2防止类型收窄96$ P8 b) _5 b, R
    3.6POD类型98
    % P  i2 R" C( A. T. M8 B2 `* i  \3.7非受限联合体1062 b3 ^0 g- W6 C( A1 r4 J
    3.8用户自定义字面量110
      ]' l0 P: e5 q' _7 q- W+ l" |% c& b$ V3.9内联名字空间113
    . L1 l# [* w6 C8 H3.10模板的别名1184 U$ ?! k2 z; Z: Q+ ?( N
    3.11一般化的SFINEA规则119
    - N' t- ]: r  D8 P/ w0 I3.12本章小结1211 v  U9 t! r) w% F1 N# R
    第4章新手易学,老兵易用123* z; A- g+ \6 |7 _! {2 P: T
    4.1右尖括号>的改进123
    , |/ E8 z$ j, L$ s) Z, {+ x4.2auto类型推导124& I4 U1 Z/ `& H9 C
    4.2.1静态类型、动态类型与类型推导124
    ; i) g" z# f  T0 ]4.2.2auto的优势126
    ' W1 I+ V5 M9 Q  c* u4.2.3auto的使用细则130
      V& ]6 i( h, }; O+ @4.3decltype1342 A! C2 m& z  a" M7 S9 E1 z
    4.3.1typeid与decltype1347 W% P% p# _' d, Y6 B0 k
    4.3.2decltype的应用136
    ' m8 U% |* l  E2 s4.3.3decltype推导四规则1408 K; B$ @' [# K" P/ l5 A- v# i
    4.3.4cv限制符的继承与冗余的符号143
    ) b: P. g- ?% [* s6 z) w2 l  C4.4追踪返回类型145
    # S4 ?  i9 z9 q, S4.4.1追踪返回类型的引入145
    " e; L3 C: w# X2 [8 f4.4.2使用追踪返回类型的函数146! n, L5 D0 e6 e3 G7 D# d8 O
    4.5基于范围的for循环150, z, Y4 y+ E; s: n; ]+ q
    4.6本章小结153
    2 z  k) J# j* M第5章提高类型安全1552 ~( ^0 o0 s* ?2 d" c6 ?* L
    5.1强类型枚举155
    4 h1 y3 ?' |7 P7 r5 {0 x1 B' i3 I5.1.1枚举:分门别类与数值的名字155; ~4 s  o# y2 B; ^
    5.1.2有缺陷的枚举类型156! h# u5 Y5 W/ I) y, t
    5.1.3强类型枚举以及C++11对原有枚举类型的扩展1604 V* m7 v1 a& c/ b+ B7 ^' J
    5.2堆内存管理:智能指针与垃圾回收163
    0 M) I* N" |/ c5.2.1显式内存管理1632 K, |* S9 G( q5 C
    5.2.2C++11的智能指针164
    ! N# _+ ?6 }8 J' U) m2 l) N5.2.3垃圾回收的分类1670 \4 W/ W5 y6 c% M* A
    5.2.4C++与垃圾回收169) {4 l+ ^- |; H
    5.2.5C++11与最小垃圾回收支持1702 s7 B) o' q2 L: p( ?2 c# Z" D
    5.2.6垃圾回收的兼容性1729 ]% q9 N% L0 a' t8 @
    5.3本章小结173+ ^4 L! d1 V# @7 s$ Z" D
    第6章提高性能及操作硬件的能力1747 `1 [, P, {* l+ J6 r" N
    6.1常量表达式174: {* Q- ?, m0 p+ B" ]
    6.1.1运行时常量性与编译时常量性174
    - A, {" p- h& x. {6 G7 o- [6.1.2常量表达式函数1764 e" v! x+ |7 P0 d
    6.1.3常量表达式值178$ A% y6 \$ L1 j; h; b& W
    6.1.4常量表达式的其他应用180( I7 e; |/ @1 V# h0 p
    6.2变长模板1837 j' v. W% D5 a# n1 A9 A
    6.2.1变长函数和变长的模板参数183
    5 b  U: N% t; Q, E2 R. X6.2.2变长模板:模板参数包和函数参数包185( }) \6 T  ~! }! a8 m
    6.2.3变长模板:进阶1897 \% G& p1 M" A0 ^
    6.3原子类型与原子操作196
    : t# B) g% _; X9 g. Y& E# {" N6.3.1并行编程、多线程与C++11196
    ! s  I' E9 G; S6.3.2原子操作与C++11原子类型197
    * g. C5 N$ D. o9 G6 ~2 k6.3.3内存模型,顺序一致性与memory_order203
    5 K0 a3 r" i; R: e1 m- O9 |: P) V6.4线程局部存储2148 W, u3 ~, i8 e
    6.5快速退出:quick_exit与at_quick_exit216
    ) r" v5 W* }8 I- z6.6本章小结219
    6 O. X' w! ^0 p6 B( A( l9 }第7章为改变思考方式而改变220
    2 `- f: J1 X) B5 M) ]7.1指针空值—nullptr220
    ' }: v& [7 i8 U# |1 b7.1.1指针空值:从0到NULL,再到nullptr220
    . z( W# n# e' r8 a% i. i9 V0 z7.1.2nullptr和nullptr_t223/ d% J$ D0 p- E! p; r# T
    7.1.3一些关于nullptr规则的讨论225
    9 Z6 n# _1 c1 j, F7.2默认函数的控制227  ~* y% L* }% q/ t5 D% d& S  w
    7.2.1类与默认函数2277 M: s" A  M+ J9 I3 Q
    7.2.2“=default”与“=deleted”230
    1 U" ?5 O5 F3 E; p0 T3 I7.3lambda函数234
    ) d, U1 j. s6 w) v6 W7.3.1lambda的一些历史234- Y' E% ^( t+ F
    7.3.2C++11中的lambda函数235
    0 m$ |; V" M$ G* f7 z# W  l7.3.3lambda与仿函数238
    " G7 S9 j. ?: a! R, g7.3.4lambda的基础使用240
    ' w  V2 V- q' l1 R/ @" A7.3.5关于lambda的一些问题及有趣的实验2439 v2 d) k  A. W# \5 T! t# I, F
    7.3.6lambda与STL247
    6 ]9 J$ I# K6 {2 p. X+ @7.3.7更多的一些关于lambda的讨论2544 z$ u3 _# P2 B* u
    7.4本章小结256; `( P9 l% u  S9 q8 w
    第8章融入实际应用258/ E7 b& G- J" A5 b2 p9 x- D  U( N
    8.1对齐支持258
    3 Z7 x0 _1 ~9 V% l+ q8.1.1数据对齐258
    9 e. k1 v" E( n4 k8.1.2C++11的alignof和alignas261
    2 O; N+ [- A/ {9 T0 w7 a8.2通用属性267
    7 k6 J$ _4 H9 `2 G) ?& L  R8.2.1语言扩展到通用属性267% p6 U6 f; I" ]! ~
    8.2.2C++11的通用属性268/ r) W7 |4 W4 c! ]
    8.2.3预定义的通用属性270
    2 i5 K& q6 T6 l) `+ [9 C- d1 \8.3Unicode支持274& X5 d( W. d2 A/ P9 q
    8.3.1字符集、编码和Unicode274
    ' h) b* z: A3 d4 |: S8.3.2C++11中的Unicode支持276) ?+ p( H. U3 x+ Q' Y# w- S7 X
    8.3.3关于Unicode的库支持280
    0 Q  C- n; ^! y+ I1 I8.4原生字符串字面量284
    5 b8 s% J- F/ A8.5本章小结286. d& m5 v! G4 _1 x( M
    附录AC++11对其他标准的不兼容项目287! K* e0 {2 y* @  q& G
    附录B弃用的特性294
    ! z& m+ M3 t6 ~& G+ x附录C编译器支持3018 c: T, W  u, n! Y
    附录D相关资源304
    1 F5 H# M, q' z5 `% M2 b3 C* U

    ; b8 Y1 I8 O) t) O$ E; e+ i
    7 ?2 O/ q2 C' _' V8 f( e封面
      L6 L4 ^7 `5 e8 L/ ^0 R5 B2 I 1.jpg $ {5 J8 A( g+ t1 S) _1 B4 l

    ( L/ s) R; Z; l; K" J) \截图
    2 s5 r& a1 X6 V6 u 2.jpg
    ! @' i9 f7 U1 N3 A+ C
    游客,如果您要查看本帖隐藏内容请回复

    . d# x! y3 K$ O4 o# o* y
    8 ]- s: I0 m, c4 I
    # U; L* ]2 _' X- ]1 J
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    叶小伦        

    2

    主题

    10

    听众

    179

    积分

  • TA的每日心情
    开心
    2014-12-7 00:20
  • 签到天数: 65 天

    [LV.6]常住居民II

    自我介绍
    数学爱好者

    社区QQ达人

    群组第六届国赛赛前冲刺培

    群组全国大学生数学建模竞

    群组数学建摸协会

    群组数模专题强化培训

    群组建模思维养成培训

    回复

    使用道具 举报

    0

    主题

    13

    听众

    284

    积分

    升级  92%

  • TA的每日心情
    开心
    2015-10-12 13:02
  • 签到天数: 77 天

    [LV.6]常住居民II

    自我介绍
    我是一个大一学生

    社区QQ达人

    回复

    使用道具 举报

    2

    主题

    7

    听众

    102

    积分

    升级  1%

  • TA的每日心情
    无聊
    2017-1-13 09:17
  • 签到天数: 29 天

    [LV.4]偶尔看看III

    自我介绍
    将来想用MATLAB做东西

    社区QQ达人

    群组国赛讨论

    回复

    使用道具 举报

    0

    主题

    16

    听众

    666

    积分

    升级  16.5%

  • TA的每日心情
    无聊
    2018-8-4 15:30
  • 签到天数: 77 天

    [LV.6]常住居民II

    自我介绍
    爱数学

    群组数模专题强化培训

    群组2014年地区赛数学建模

    群组国赛讨论

    群组第二届数模基础实训

    回复

    使用道具 举报

    drrile        

    0

    主题

    12

    听众

    117

    积分

    升级  8.5%

  • TA的每日心情
    无聊
    2014-11-26 09:41
  • 签到天数: 30 天

    [LV.5]常住居民I

    自我介绍
    在学习中进步
    回复

    使用道具 举报

    drrile        

    0

    主题

    12

    听众

    117

    积分

    升级  8.5%

  • TA的每日心情
    无聊
    2014-11-26 09:41
  • 签到天数: 30 天

    [LV.5]常住居民I

    自我介绍
    在学习中进步
    回复

    使用道具 举报

    风树        

    1

    主题

    11

    听众

    151

    积分

    升级  25.5%

  • TA的每日心情

    2014-12-30 19:19
  • 签到天数: 48 天

    [LV.5]常住居民I

    自我介绍
    yyyy

    社区QQ达人

    回复

    使用道具 举报

    7

    主题

    8

    听众

    317

    积分

    升级  5.67%

  • TA的每日心情
    慵懒
    2016-10-11 09:39
  • 签到天数: 173 天

    [LV.7]常住居民III

    自我介绍
    想学习数学建模

    社区QQ达人

    群组数学建模培训课堂2

    群组2011年第一期数学建模

    群组数学建模培训课堂1

    回复

    使用道具 举报

    gancm 实名认证       

    8

    主题

    13

    听众

    1831

    积分

  • TA的每日心情

    2015-5-31 00:30
  • 签到天数: 432 天

    [LV.9]以坛为家II

    国际赛参赛者

    社区QQ达人

    群组2013电工杯A题讨论群组

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-7-20 18:03 , Processed in 1.065389 second(s), 107 queries .

    回顶部