QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5121|回复: 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 编辑 0 B3 W6 z! a- u. X

    1 b' M& M: X0 ?8 d& N7 o内容简介
    * T; a! S. Q' v深入理解C++11:C++11新特性解析与应用》内容简介:国内首本全面深入解读C++11新标准的专著,由C++标准委员会代表和IBM XL编译器中国开发团队共同撰写。不仅详细阐述了C++11标准的设计原则,而且系统地讲解了C++11新标准中的所有新语言特性、新标准库特性、对原有特性的改进,以及如何应用所有这些新特性。
    % y8 g! c% J: `8 h  ]0 T9 }# B7 p深入理解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的相关资源。. R& d+ V  r1 U1 t- L1 [5 ~

    # [/ b# c: y( Y& ^编辑推荐
    9 z/ l, W2 B, F" t! v8 y深入理解C++11:C++11新特性解析与应用》编辑推荐:C++标准委员会成员和IBM XL编译器中国开发团队共同撰写,权威性毋庸置疑。系统、深入、详尽地讲解了C++11新标准中的新语言特性、新标准库特性、对原有特性的改进,以及所有这些新特性的应用。
    3 B  Q' `- a6 M2 x
    & S4 G9 r& Y. c2 X. X2 P3 E作者简介% k" ]& _$ v( I. p, t& M
    作者:(加拿大)Michael Wong IBM XL编译器中国开发团队' c- A' I5 ~0 l0 Q1 [" m
    " ], Q5 |, q1 S
    Michael Wong,C++11标准委员会(WG21)委员,WG21加拿大代表团团长及IBM公司代表(投票人),WG21 SG5(transactional Memory study group)学习小组组长。除此之外,Michael还是OpenMP委员会的CEO,SCC(Standards Council of Canada)的副主席。# U+ s: m6 H0 [" ~/ [" W8 U
    Michael是多个C++11/OpenMP/STM新特性的合作编写者,活跃于各种技术会议,而且为Programming Committee of Boost以及IWOMP等国际会议服务。Michael也是IBM公司的高级技术专家,领导IBM XL C++编译器、XL C编译器的开发工作,当前致力于IBM编译器的C++11新特性部署。Michael在并行编程、C++基准测试、对象模型、泛型编程、模板元编程等多个技术领域均有涉猎,并且在对象模型以及事务内存等方面取得过多个专利。3 e" u' X% E! E: ]+ N; O# g8 v# w' s
    早年Michael于多伦多大学获取得了天体物理学的学士学位,并在滑铁卢大学获得了硕士学位。在加入IBM之前,Michael曾先后供职于大卫?邓禄普天文台(David Dunlap Observatory),CDC公司(Control Data Corporation),BMO Nesbitt Burns公司等。* o+ X  R, x, w
    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新特性的开发工作。
    . }) E: j9 Q# O! L2 a/ Y
    " U  I, b. A+ |3 u# X  Z. H1 r9 f目录免责声明, s5 ?" H/ q0 [* r8 C8 G

    ; ~' F6 `0 [7 F9 g前言! q  H+ e( w9 P+ T2 e
    第1章新标准的诞生1
    ! p! E  {' H% F1.1曙光:C++11标准的诞生1
    ; \5 `- g6 u' C* B' k0 u$ B+ O8 y1.1.1C++11/C++0x(以及C11/C1x)——新标准诞生1
    & B4 A& q( [$ ^. |3 A7 P3 y5 ]1.1.2什么是C++11/C++0x2* w, v( s# D" T  t, u3 R
    1.1.3新C++语言的设计目标35 t, ]7 {9 ]9 k& h9 L/ x
    1.2今时今日的C++5) X6 G+ a. N8 H& u/ C
    1.2.1C++的江湖地位5( Q8 y- c- Z* l2 k8 |- V- \
    1.2.2C++11语言变化的领域5
    * a$ J) ^# O5 G# A- G1.3C++11特性的分类74 J, _$ _. t. Y% R! y& ~
    1.4C++特性一览11
    ) M3 O0 S( I- ]" N# w  L: ]7 |1.4.1稳定性与兼容性之间的抉择11
    . n# B" l0 s% M* [& i  X  p1.4.2更倾向于使用库而不是扩展语言来实现特性12
    ) o) a. O$ u. Y) D1.4.3更倾向于通用的而不是特殊的手段来实现特性13& g5 C4 A+ v! q" c7 q7 J
    1.4.4专家新手一概支持13; {' k2 W' @/ K% r
    1.4.5增强类型的安全性14
    5 U' p. j5 s- f/ b1.4.6与硬件紧密合作149 o3 ?# f) e) y4 z4 H
    1.4.7开发能够改变人们思维方式的特性152 D6 z; y8 M9 A1 O' m
    1.4.8融入编程现实16
    . k: d$ _9 Y( f- C: Y1.5本书的约定17
    1 }. w; C+ \& x9 B' R1.5.1关于一些术语的翻译177 @. P3 I. E& y6 L
    1.5.2关于代码中的注释17. ^3 s  I* K5 S8 q: i
    1.5.3关于本书中的代码示例与实验平台181 Z# i8 L+ Q1 a5 u, o6 @
    第2章保证稳定性和兼容性19- D* C" r- a# y$ b" ?# T& m
    2.1保持与C99兼容19+ e0 W( B- i0 Y
    2.1.1预定义宏19$ t: ^, `2 f6 e  b
    2.1.2_func_预定义标识符205 O, R  ^2 m; B$ X
    2.1.3_Pragma操作符22
    5 y, M& {$ p; J' A  e3 k2.1.4变长参数的宏定义以及_VA_ARGS_22
    9 m3 X) R% ]3 E- Z9 f8 L: S/ c* r2.1.5宽窄字符串的连接23. \- h! ]( X( y$ p3 I$ L6 @6 a
    2.2longlong整型23
    6 m* }* L) [! k( G7 k- @2.3扩展的整型25
    ' o* O) [' X2 l: J0 R2.4宏_cplusplus26: m6 c- `4 h' o( T  R2 A
    2.5静态断言27
    2 l' k  E7 e! c( C0 H% T  a4 h2.5.1断言:运行时与预处理时27. R' F2 X' \5 v
    2.5.2静态断言与static_assert28
    : `2 W! [: {, ]* N) Q: |2 ^; |+ v# G2.6noexcept修饰符与noexcept操作符32" O/ C" j& }8 Y& ^% V0 {1 I
    2.7快速初始化成员变量36& ^$ Y  k' f4 K% ~& {) T6 x
    2.8非静态成员的sizeof39
    ) \/ [* J7 y, |! X2.9扩展的friend语法40
    3 A% O* ?( |8 }4 U+ b. A2.10final/override控制44- O/ {7 G' c1 w& d9 o, o
    2.11模板函数的默认模板参数48
    ) \$ X+ k: P3 t% d2.12外部模板50
    $ a* w1 w! a, S, _8 z2.12.1为什么需要外部模板503 U/ K3 ~- W5 z. B
    2.12.2显式的实例化与外部模板的声明52
    0 i; [, Y2 U/ G+ W2.13局部和匿名类型作模板实参54
    $ N% F; v# f# q" j" z; r2.14本章小结55
    + I+ ~. i8 G8 }7 g第3章通用为本,专用为末57! h3 ?2 G8 M9 B( V
    3.1继承构造函数57
    1 Z" l" X3 u4 ^) N2 b* B' D" }3.2委派构造函数62- I* V5 Y' \: j( k# u& ~  ]; X
    3.3右值引用:移动语义和完美转发68# r9 t: D0 v9 o% N
    3.3.1指针成员与拷贝构造68$ p# q* f2 ~3 ]( C9 @* ?# N, I. X: y  U
    3.3.2移动语义69
    ; m3 [2 U( o# O# o9 d3.3.3左值、右值与右值引用75
    6 U! E8 h& _+ @! \3.3.4std:move:强制转化为右值80
    * p: P: ?$ ?5 X( r! `& v  O3.3.5移动语义的一些其他问题82
    ) A2 I& t8 r( X; t* a, u, f2 n/ g3.3.6完美转发85
    : w# k. @6 Q' Y3.4显式转换操作符89
    4 Q8 J+ Q! w6 H+ e2 z% Q& w3.5列表初始化92
    ( P8 t) F4 d0 \6 p& G3.5.1初始化列表926 v  d( l3 U8 c# Q
    3.5.2防止类型收窄96
    6 ?( Y$ d' U% p) Z/ f- i$ D* h3.6POD类型98; y6 ^# c* ]4 }/ E4 q! A+ Z! \6 Y0 \
    3.7非受限联合体106
    . C: c4 k2 D0 P7 m$ u3.8用户自定义字面量110
    3 Z1 U! h2 P- y$ D* S) f5 w# ]- P& q3.9内联名字空间1136 f1 C/ x) f$ I+ k( P$ w7 I& V
    3.10模板的别名118- v$ h& T. K, c% x
    3.11一般化的SFINEA规则119
    8 y. v% v5 K, h3.12本章小结121
    5 D# o9 ^# v6 J- \% i/ K4 x第4章新手易学,老兵易用1238 |" }# ]& F  v
    4.1右尖括号>的改进123) v* F1 A# [. `" `# i" ^0 W  ]
    4.2auto类型推导1246 g- L: e/ m) b+ Y! J7 B4 M" X
    4.2.1静态类型、动态类型与类型推导1246 @) i4 S% R0 K; b$ h
    4.2.2auto的优势126
    0 n, o$ w& T0 U, \+ ]4.2.3auto的使用细则1300 o+ G# n/ v, V% J
    4.3decltype134
    5 s4 J& u; S' N5 v$ l4.3.1typeid与decltype1343 ~1 \8 Q/ V, C6 ~) {% }5 R( |
    4.3.2decltype的应用136( L; @6 W8 V' `9 a
    4.3.3decltype推导四规则140- G- z+ K/ N5 k# N4 ^2 i6 n" n1 L
    4.3.4cv限制符的继承与冗余的符号143
    + z! a+ r9 g8 P- h  s, _: e, ?4 k1 @7 k4.4追踪返回类型145
    ' V! V  D0 [7 n. y# X) f% |4.4.1追踪返回类型的引入1458 z+ ~  j3 _/ I2 C" a, d  ~( P1 E2 z
    4.4.2使用追踪返回类型的函数146
      v% V% U) D( M7 G' K# ~4.5基于范围的for循环150
    " `! O2 p9 N5 k0 J4.6本章小结153
    3 y. D3 f2 ?* o0 x$ R第5章提高类型安全1552 t9 K2 j1 r7 u, P: }5 y/ X
    5.1强类型枚举155
    6 `/ @) `3 v* D3 R$ b- ~5.1.1枚举:分门别类与数值的名字155
    % }2 |  g$ T$ p! x: w- e0 x5.1.2有缺陷的枚举类型1565 z; @& ?5 R5 ]6 U; G
    5.1.3强类型枚举以及C++11对原有枚举类型的扩展160
    # Q  E$ g2 ]3 M5.2堆内存管理:智能指针与垃圾回收163
    $ w4 h1 H; p8 H! I: k: [. ]" A5.2.1显式内存管理163( H: V7 O) Z' I1 @  W, h" Z7 v( s' ?/ e
    5.2.2C++11的智能指针164- j  @& @. L3 F, ?+ |1 f) Z- t
    5.2.3垃圾回收的分类167
    * q$ b. ^; R6 ]  d( p5.2.4C++与垃圾回收169# ?3 [; P: F7 ^1 S' ~7 s2 X4 H
    5.2.5C++11与最小垃圾回收支持170+ ^  }! G+ e: H5 ~1 {
    5.2.6垃圾回收的兼容性172# F1 A, [8 |. E# _# I5 h
    5.3本章小结173
    - I$ E7 [& W% w  u0 }( [第6章提高性能及操作硬件的能力174
    # N$ M2 D; y! S4 B% H2 _6.1常量表达式174
    ! x$ A# s' q" F7 r6.1.1运行时常量性与编译时常量性174
    3 K8 i  I- E3 }* j5 J: D6.1.2常量表达式函数176, M1 \: k3 W8 u
    6.1.3常量表达式值1780 h. w8 `+ T' b2 `- g
    6.1.4常量表达式的其他应用1802 q, M& d4 e% m+ D, X! ~
    6.2变长模板1835 G  `, D( _: e' n+ l
    6.2.1变长函数和变长的模板参数183) t7 a# U3 a3 L8 S
    6.2.2变长模板:模板参数包和函数参数包185
    6 d- I9 @0 N0 W: o# R6 p1 f6.2.3变长模板:进阶189
    ( V- z" S# n# i6.3原子类型与原子操作196
    ! R. z" a, [% l) J0 [( [6.3.1并行编程、多线程与C++111964 w$ E" F# g3 w: m9 D5 m7 V# F8 \
    6.3.2原子操作与C++11原子类型197
    ' ?1 J) L( o( Q" M6.3.3内存模型,顺序一致性与memory_order203# C9 e" a9 \) P
    6.4线程局部存储214
    $ N* q- G: e* E9 t' R6.5快速退出:quick_exit与at_quick_exit2166 E0 l6 p9 L3 Q9 h' O3 g" T
    6.6本章小结219
    3 G  G5 b1 ?+ t# t2 T; f第7章为改变思考方式而改变220
      Y1 d& q. b) F$ ^7.1指针空值—nullptr220: {2 `* N5 U8 }- U2 Y8 \4 x9 d
    7.1.1指针空值:从0到NULL,再到nullptr220
    2 X& ~7 a6 a7 V! M! G7.1.2nullptr和nullptr_t223# [# x  L! p! A- i7 Y# c
    7.1.3一些关于nullptr规则的讨论225  i9 a3 |$ H6 F) Q: U
    7.2默认函数的控制227- f' h# J2 K& q1 z$ J: P# S0 Y
    7.2.1类与默认函数227
    4 j* ^% r: S* f7.2.2“=default”与“=deleted”2302 Z# e2 P# E+ L: ^$ \
    7.3lambda函数234
    8 n2 R" p" V9 G# r7.3.1lambda的一些历史234
    4 L: o" ?6 Q1 H# h8 i8 T7.3.2C++11中的lambda函数235& Y- G- K  X. X5 I% \$ _
    7.3.3lambda与仿函数2386 ]# r" J% d# t" _0 ?
    7.3.4lambda的基础使用240
    # P7 y4 z- q, I4 ?7.3.5关于lambda的一些问题及有趣的实验2436 |3 j1 c1 j. e2 D$ c/ v
    7.3.6lambda与STL247
    9 T/ W. r4 S6 s3 g1 {7.3.7更多的一些关于lambda的讨论2548 P* D( c0 d3 h7 s& u1 s) l7 `3 A6 K
    7.4本章小结256
    : I/ l+ j- H- x$ v第8章融入实际应用258
    $ ?" P* ~+ i0 P8.1对齐支持258
    * L% q' `: X- R- ?3 r, [8.1.1数据对齐2589 v0 b* r. N/ p2 O7 g5 Z
    8.1.2C++11的alignof和alignas261/ M' m# K- L; ?' {4 c% i' k
    8.2通用属性267
    : u/ x% l! \4 |) Z; f. @* e8.2.1语言扩展到通用属性2676 ]; U7 x. t( Y
    8.2.2C++11的通用属性268' N  Z8 y) w4 ~
    8.2.3预定义的通用属性270
    3 Y5 \2 X3 ]+ T( j# B8.3Unicode支持274
    + H4 ]2 b1 |+ I/ r, M2 o  S8.3.1字符集、编码和Unicode274
    . X" N2 Z" D! Y9 }6 w8.3.2C++11中的Unicode支持2769 J! V6 P* P0 W
    8.3.3关于Unicode的库支持2804 }, p! _* t: v+ \5 @8 L! C2 r. I( |/ ?
    8.4原生字符串字面量284
    * t: f, s0 {5 c6 p0 b0 y" N8.5本章小结286: d% y- ~* v7 |5 X# ~: A) s0 Z
    附录AC++11对其他标准的不兼容项目287
    2 Y- q' C% J) G0 l; x8 ^9 ~4 v- v附录B弃用的特性294
    / Y5 v# Q4 S2 X附录C编译器支持301/ b; N2 \' Z0 R) i8 F/ W
    附录D相关资源304
    ; M/ A  f7 _) [6 [

    : k5 S5 Y3 v% Y, E1 s* R) s; Y& e" ?* [9 N3 W% I! Z
    封面
    5 V3 o3 E; `8 O; }4 O) _ 1.jpg
    8 V1 L1 V, V* I8 y9 X. ]. t+ ]3 H) E% p$ P) y* }6 {
    截图
    ' X0 X. _8 P* ^# F  R5 L 2.jpg 8 k3 l8 o9 _% P/ s4 ^. Z
    游客,如果您要查看本帖隐藏内容请回复

    8 S& W( v. O, r- _/ l; u
    3 t$ \8 H: H/ {  ~* g0 Y+ m+ U  J) w. N8 k3 Z3 _* B/ G0 y6 w( {
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    LYJA        

    20

    主题

    3

    听众

    375

    积分

    升级  25%

  • TA的每日心情
    开心
    2017-8-27 23:29
  • 签到天数: 61 天

    [LV.6]常住居民II

    社区QQ达人

    回复

    使用道具 举报

    jiay        

    0

    主题

    11

    听众

    51

    积分

    升级  48.42%

  • TA的每日心情
    奋斗
    2015-2-8 22:05
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    自我介绍
    开朗活泼,热爱建模。

    邮箱绑定达人

    回复

    使用道具 举报

    jiangtai        

    0

    主题

    10

    听众

    112

    积分

    升级  6%

  • TA的每日心情
    无聊
    2016-2-4 12:43
  • 签到天数: 19 天

    [LV.4]偶尔看看III

    邮箱绑定达人 社区QQ达人

    回复

    使用道具 举报

    zszzsz111        

    2

    主题

    11

    听众

    71

    积分

    升级  69.47%

  • TA的每日心情
    无聊
    2016-1-29 20:52
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    社区QQ达人

    回复

    使用道具 举报

    慢跑20 实名认证       

    60

    主题

    8

    听众

    3684

    积分

  • TA的每日心情
    开心
    2017-2-22 14:21
  • 签到天数: 271 天

    [LV.8]以坛为家I

    群组2014年美赛冲刺培训

    群组物联网工程师考试

    群组2013年电工杯B题讨论群

    群组物联网工程师培训

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

    回复

    使用道具 举报

    gancm 实名认证       

    8

    主题

    13

    听众

    1831

    积分

  • TA的每日心情

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

    [LV.9]以坛为家II

    国际赛参赛者

    社区QQ达人

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

    回复

    使用道具 举报

    7

    主题

    8

    听众

    317

    积分

    升级  5.67%

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

    [LV.7]常住居民III

    自我介绍
    想学习数学建模

    社区QQ达人

    群组数学建模培训课堂2

    群组2011年第一期数学建模

    群组数学建模培训课堂1

    回复

    使用道具 举报

    风树        

    1

    主题

    11

    听众

    151

    积分

    升级  25.5%

  • TA的每日心情

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

    [LV.5]常住居民I

    自我介绍
    yyyy

    社区QQ达人

    回复

    使用道具 举报

    drrile        

    0

    主题

    12

    听众

    117

    积分

    升级  8.5%

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

    [LV.5]常住居民I

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

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-7-20 00:02 , Processed in 0.460803 second(s), 109 queries .

    回顶部