QQ登录

只需要一步,快速开始

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

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

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

377

主题

148

听众

5990

积分

升级  19.8%

  • 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 编辑 ' P% V3 m8 I8 H3 g  W  H! Z
    5 g6 a8 ~' H) K3 H
    内容简介+ V) m6 P2 J3 r
    深入理解C++11:C++11新特性解析与应用》内容简介:国内首本全面深入解读C++11新标准的专著,由C++标准委员会代表和IBM XL编译器中国开发团队共同撰写。不仅详细阐述了C++11标准的设计原则,而且系统地讲解了C++11新标准中的所有新语言特性、新标准库特性、对原有特性的改进,以及如何应用所有这些新特性。
    - o* |. m! u$ X深入理解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的相关资源。+ @% ^7 ]- |/ l* m4 P$ U* L

      p9 F$ d8 @9 T# ]* Y) P% x编辑推荐
    0 \) i' \9 j' P深入理解C++11:C++11新特性解析与应用》编辑推荐:C++标准委员会成员和IBM XL编译器中国开发团队共同撰写,权威性毋庸置疑。系统、深入、详尽地讲解了C++11新标准中的新语言特性、新标准库特性、对原有特性的改进,以及所有这些新特性的应用。/ V, Y% t. S! I0 s; S2 a' c

    ; l5 D% a5 U! V( d作者简介
    ; k5 u+ ?3 g5 i( C! s4 @! D+ L  X作者:(加拿大)Michael Wong IBM XL编译器中国开发团队$ @& V6 ?( i: m# K1 l( V

    - v8 f' F. v2 w6 R+ _9 S; Q+ NMichael Wong,C++11标准委员会(WG21)委员,WG21加拿大代表团团长及IBM公司代表(投票人),WG21 SG5(transactional Memory study group)学习小组组长。除此之外,Michael还是OpenMP委员会的CEO,SCC(Standards Council of Canada)的副主席。
    * {: p2 a) w, t2 b6 |* WMichael是多个C++11/OpenMP/STM新特性的合作编写者,活跃于各种技术会议,而且为Programming Committee of Boost以及IWOMP等国际会议服务。Michael也是IBM公司的高级技术专家,领导IBM XL C++编译器、XL C编译器的开发工作,当前致力于IBM编译器的C++11新特性部署。Michael在并行编程、C++基准测试、对象模型、泛型编程、模板元编程等多个技术领域均有涉猎,并且在对象模型以及事务内存等方面取得过多个专利。% l- ^6 Y$ L. }% d; Y
    早年Michael于多伦多大学获取得了天体物理学的学士学位,并在滑铁卢大学获得了硕士学位。在加入IBM之前,Michael曾先后供职于大卫?邓禄普天文台(David Dunlap Observatory),CDC公司(Control Data Corporation),BMO Nesbitt Burns公司等。) k7 X# T! c( L0 E+ x  i9 p: R
    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新特性的开发工作。
    , s# Y( }1 Q/ {7 |1 c2 _! P
    7 }+ c$ D# z2 \( r目录免责声明6 }1 }* ?, x4 u5 m) T7 j0 l
    - S7 r2 O  u; t9 A0 K
    前言
    - ?3 C4 ^% G+ s  B/ P1 ^( W第1章新标准的诞生1
    & F- F& p2 K! k8 k) t3 P, R( T& k" m1.1曙光:C++11标准的诞生1
    $ I% \4 `( x5 K. V3 D1.1.1C++11/C++0x(以及C11/C1x)——新标准诞生10 V( P0 O- b# n
    1.1.2什么是C++11/C++0x2
    . I4 v' g$ G9 G6 L1.1.3新C++语言的设计目标3
    4 Z0 N0 e- w6 _7 R0 M1.2今时今日的C++5
    4 X, I, P5 u6 X' C- `% ^! O/ J+ x' p2 E1.2.1C++的江湖地位5
      g8 M4 F  a4 z) ^9 i, K1.2.2C++11语言变化的领域5
    + y1 b/ S/ G. }7 c5 e7 H% D1.3C++11特性的分类7
    # W% O  V- @' _2 j2 P1.4C++特性一览11
    1 i$ k9 M4 _  D6 N1.4.1稳定性与兼容性之间的抉择11
    : i" _' U+ J. p$ }1.4.2更倾向于使用库而不是扩展语言来实现特性12
    * c1 W5 G, C9 c+ _2 `" ^9 Y3 d# ~1.4.3更倾向于通用的而不是特殊的手段来实现特性13
    0 }/ w6 I3 _  X6 P1.4.4专家新手一概支持13' h) q3 {* d( _* m; @: {/ N9 ?! n9 w
    1.4.5增强类型的安全性148 i' z+ [" {1 q2 w2 |2 g4 p
    1.4.6与硬件紧密合作14% L0 T2 L0 h# E3 E1 [+ L/ D9 R
    1.4.7开发能够改变人们思维方式的特性15: J  {, V% M9 d& D
    1.4.8融入编程现实16
    8 J1 X. e! N7 w% y- ?; t1.5本书的约定17
    ; D2 ~( g; W. t5 F0 a$ N( y" \1.5.1关于一些术语的翻译17" U; E0 K) g, y" W( E& S% p3 A
    1.5.2关于代码中的注释17
    # U: y  }6 f& {* G$ u. Y1.5.3关于本书中的代码示例与实验平台18  n& P% @) {2 M% Z1 v( `
    第2章保证稳定性和兼容性19
    % m9 o' D' l. p+ s5 Q2.1保持与C99兼容19* u5 I9 Y& y" M7 ?! y. e
    2.1.1预定义宏19* V, W$ Q- |) c3 u2 q
    2.1.2_func_预定义标识符20
    + H' \' w- r* H3 ]) @5 X! ]: Z2.1.3_Pragma操作符22- K3 S, F: `. b) N
    2.1.4变长参数的宏定义以及_VA_ARGS_22; Y  {4 x& a3 }; }9 `
    2.1.5宽窄字符串的连接23
    2 n, p! Q) f' B8 |2.2longlong整型23
    ! }, p0 W3 X; s7 y6 Z2.3扩展的整型25# N- U, @$ K% ], V* J2 I5 \
    2.4宏_cplusplus26. y' t) j5 s9 [3 x) g
    2.5静态断言27, b* U! t$ A! i! B/ X
    2.5.1断言:运行时与预处理时27
    # E* B: ~8 M/ n% |6 }2.5.2静态断言与static_assert281 f' l/ }- @) B" {
    2.6noexcept修饰符与noexcept操作符32
    4 ^5 _3 S% q3 ^  y) ^2.7快速初始化成员变量36
    5 w7 r5 k( ]/ O; o1 j! }2.8非静态成员的sizeof39$ A2 v7 z, _/ t) W9 V" F
    2.9扩展的friend语法40
      z. z/ u" I8 J1 M7 r+ M1 o2.10final/override控制44' b8 z, u" X6 ]: a$ A- f
    2.11模板函数的默认模板参数489 @7 f" a/ B3 j
    2.12外部模板505 F6 o& Z' Y* \& r& e
    2.12.1为什么需要外部模板50
    * ?% o  }, R1 I7 u2.12.2显式的实例化与外部模板的声明52' I% `& N  w, [8 Z! Z7 H9 t
    2.13局部和匿名类型作模板实参54
    $ C5 t% l4 U! a- E, s8 i9 U: |2.14本章小结55
    8 Q* w" V9 o0 r7 ~- [- _! P# J第3章通用为本,专用为末57
    . M* @) O) |$ d$ {3.1继承构造函数576 }% U  C1 L0 r( T5 J( {  O' M- S) [
    3.2委派构造函数62& d) a0 l7 f2 K
    3.3右值引用:移动语义和完美转发68! t8 t0 C4 ^% I) |  U0 L% i
    3.3.1指针成员与拷贝构造68# w2 o0 E- d  u& q
    3.3.2移动语义698 F/ K# K, o8 d! W+ a6 N
    3.3.3左值、右值与右值引用75( R3 V! z: s+ q4 X% K1 l! g
    3.3.4std:move:强制转化为右值800 H0 @. T& \( I- W7 Q+ `
    3.3.5移动语义的一些其他问题82
    6 y! Q+ K+ a2 P9 c" [3.3.6完美转发85- D) `8 s& n1 K
    3.4显式转换操作符89- p! s7 w1 V# o
    3.5列表初始化925 k5 Y4 n+ |2 s" N$ q
    3.5.1初始化列表92) g: g2 F  a, o; d4 D
    3.5.2防止类型收窄96
    . D3 P. R6 {; x* {, V3.6POD类型98
    2 G0 X# l1 I- A! X6 C5 P3.7非受限联合体106
    , p* A$ b; k. V; y3.8用户自定义字面量110
    . @9 j7 k2 L5 R/ q3.9内联名字空间113
    6 C3 c" H& Z- f! M& ]  G* L! _4 F+ N3.10模板的别名118
    + @1 n4 c7 Z: j: m3.11一般化的SFINEA规则119
    9 f8 }2 Z4 T# D4 E3.12本章小结121
    - `' {( L4 K. A- f6 N第4章新手易学,老兵易用123
    6 K8 o. U0 W6 y1 _4.1右尖括号>的改进123
    2 O2 T6 E/ O" Q/ m! A: e6 `; F! q7 y8 B, l4.2auto类型推导124
    # k# E5 J  p) B! |8 @0 k4.2.1静态类型、动态类型与类型推导124
    ; i* j% Z, m1 _! q* a4.2.2auto的优势126$ K2 X) E' M+ ?
    4.2.3auto的使用细则130
    9 R6 [8 H. x* J: w6 l: S4.3decltype134
    1 n# _5 q- y1 m& L% M: }4.3.1typeid与decltype1348 ]' u( }! a7 C" Q. Z
    4.3.2decltype的应用1362 d" @9 P) g% B
    4.3.3decltype推导四规则140
    : B7 f0 p/ Q0 i' n6 h. C* M4.3.4cv限制符的继承与冗余的符号1438 m$ _* l& r; A$ ?4 O
    4.4追踪返回类型145
    4 ]& Z- l' S8 n  B4.4.1追踪返回类型的引入145! c, ?6 _! Z, q1 K9 G$ O" G7 @! \
    4.4.2使用追踪返回类型的函数146! Z: y, A/ f2 g& q7 j
    4.5基于范围的for循环1503 L9 s1 T; n) M$ _8 H
    4.6本章小结153
    3 L8 a- g7 T, r第5章提高类型安全155( \9 q9 q+ P( j, e. E/ K5 c- X
    5.1强类型枚举155
    % [0 q- h8 @  J/ \+ k" r4 d+ ^2 s7 G5.1.1枚举:分门别类与数值的名字155
    % s. F' B4 V2 ^0 q6 P5.1.2有缺陷的枚举类型156
    ! U$ M7 h# j2 U* Q( e. O0 Q5.1.3强类型枚举以及C++11对原有枚举类型的扩展160
    ' K! i* @1 N. K5.2堆内存管理:智能指针与垃圾回收163
    ! F* L, c7 s% u4 ^6 \7 u" e$ u4 e5.2.1显式内存管理163
    ! @5 U% n) |5 Y7 I& g2 T5.2.2C++11的智能指针164
      V0 u8 S  f/ M5.2.3垃圾回收的分类167
    # \& C- e! j8 N, J/ I9 d# o3 g5.2.4C++与垃圾回收1697 e, B4 b0 D2 [- p
    5.2.5C++11与最小垃圾回收支持170
    ) x3 o4 `" O- @9 d/ c5.2.6垃圾回收的兼容性172
    . k3 }/ m1 n' Z5 Z" `/ B9 l( P5.3本章小结1733 a1 t$ c) c& I+ \
    第6章提高性能及操作硬件的能力1746 m+ k0 R0 x* X/ r6 X: L
    6.1常量表达式174- I( G6 _! B7 q6 \+ u# e& d. M
    6.1.1运行时常量性与编译时常量性174
    - N# m/ I( B4 ^1 q5 U7 t6.1.2常量表达式函数1766 b7 E; V0 B5 ?) `' r7 K. \- P+ b
    6.1.3常量表达式值178
    & y% }6 b9 i! C' ~4 ^+ |4 ]6.1.4常量表达式的其他应用180) S" W6 o% `- a: X: ~7 R3 t
    6.2变长模板183
    8 H1 k, l6 {% C% {+ N& D6.2.1变长函数和变长的模板参数183
    - R# q/ J' a5 J: B6.2.2变长模板:模板参数包和函数参数包185
    3 F. g: d- J9 ?  e3 Z6.2.3变长模板:进阶189- X; w1 D/ y: W9 I, z8 f% K9 c6 Q- O7 W
    6.3原子类型与原子操作196  M! k$ J( [" h  q+ A/ H5 Y) [2 e
    6.3.1并行编程、多线程与C++11196
    + b. Q3 j1 x1 g* j$ ^1 ^7 ^6.3.2原子操作与C++11原子类型197
    - @1 T2 J% D4 `% ]4 Q. V& u7 S6.3.3内存模型,顺序一致性与memory_order203
    ; S0 F2 b" b( X! K1 @6.4线程局部存储2145 h# h& S5 P  m- ?2 F! T  P1 I
    6.5快速退出:quick_exit与at_quick_exit216
    9 ~& e& t9 ?& B$ }6.6本章小结219
    : [: A8 m4 B# ^1 S第7章为改变思考方式而改变2209 E% m. }) b* I5 J8 k+ A# C& u
    7.1指针空值—nullptr220
    7 g2 M1 \# Y  e& l7.1.1指针空值:从0到NULL,再到nullptr220
    & m$ R3 Z; h/ Q1 c7.1.2nullptr和nullptr_t223
    , H$ l! r$ d3 k$ `  z  W/ B7.1.3一些关于nullptr规则的讨论225. O9 {' S  l. B3 y
    7.2默认函数的控制227
    - A6 E% @! Z: Q7.2.1类与默认函数227& X8 p8 N* V# M- l( }  |
    7.2.2“=default”与“=deleted”230
    6 _0 r0 d6 D8 J3 O; z0 T7.3lambda函数2346 t7 }. c* g: Q! Y% ]( ~- [
    7.3.1lambda的一些历史234
    * }, }& x# [$ a7.3.2C++11中的lambda函数235% t+ o, r6 f# V7 A- ]; O" }) i* R
    7.3.3lambda与仿函数238' W: j. w$ \/ s9 P% Z
    7.3.4lambda的基础使用240
    ; E5 T  A1 ~" c7.3.5关于lambda的一些问题及有趣的实验2435 Y+ B  \# s! o3 h6 l
    7.3.6lambda与STL247
    # E! F. a3 y# {7 U" X" U; N4 y9 m7.3.7更多的一些关于lambda的讨论2541 L# S! s: t/ Y* Z4 A* X/ N6 i
    7.4本章小结256$ e* Q2 W; k  z0 p
    第8章融入实际应用258
    , i0 d, ]2 S9 ^4 j) _8.1对齐支持258" k7 M% k6 z* I3 d" l0 \4 b9 W  K
    8.1.1数据对齐258, x8 a8 A7 T" M
    8.1.2C++11的alignof和alignas261. `* E0 j- h/ T3 x# ~$ O
    8.2通用属性2675 R7 [. K8 H4 v9 [* |9 _
    8.2.1语言扩展到通用属性2676 {, k% X$ K$ F8 N4 B+ p
    8.2.2C++11的通用属性268
    ) F' ?9 x9 _4 \( G* {& q4 r8 w8.2.3预定义的通用属性2704 a$ u" m9 D- r/ E
    8.3Unicode支持274
    ! i2 c- J! B. Y" \8.3.1字符集、编码和Unicode274! ]* i; \% h! Z, O& i  E
    8.3.2C++11中的Unicode支持2768 m& T  W* q7 ^3 P
    8.3.3关于Unicode的库支持2806 X) U8 X1 m8 o! ~- e# t( J
    8.4原生字符串字面量284! `4 u3 a9 @# K* K! a4 b1 X
    8.5本章小结286
    + ?: P* @) ^% N* m) f: D附录AC++11对其他标准的不兼容项目287
    3 R# s2 R( m5 ]2 [) Y* r# W附录B弃用的特性294
    7 h1 H1 d1 n# N/ ~& k附录C编译器支持301  u& w. M1 W  P. i( U
    附录D相关资源304
    & y; d5 ^% L' ]

    3 w  C. C6 ~0 K, j  w  g; Q, }, K0 e" y0 v; `5 c" `
    封面
    5 J+ w6 V2 {. ^: y1 |& w# { 1.jpg ' c6 g; F7 b& |/ n  ]

    , u8 Y% l, M$ l, f% B截图9 b( J4 `/ }9 D3 Y" o4 z
    2.jpg
    / Z9 q5 P8 ~7 V; H1 w# g  r
    游客,如果您要查看本帖隐藏内容请回复
      _5 h/ Y  Y0 L9 U! u
    9 Q+ \2 {, F' `4 S$ B+ n2 |: D

    4 b! o$ k+ F% l) |" D
    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-6-3 12:21 , Processed in 0.527806 second(s), 108 queries .

    回顶部