QQ登录

只需要一步,快速开始

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

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

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

377

主题

148

听众

6010

积分

升级  20.2%

  • 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 编辑
    $ l; g! p8 m  g) B( h, K
    0 X; _* H1 n# W( y4 P- N$ l2 J内容简介
    . M: t2 W3 L$ I深入理解C++11:C++11新特性解析与应用》内容简介:国内首本全面深入解读C++11新标准的专著,由C++标准委员会代表和IBM XL编译器中国开发团队共同撰写。不仅详细阐述了C++11标准的设计原则,而且系统地讲解了C++11新标准中的所有新语言特性、新标准库特性、对原有特性的改进,以及如何应用所有这些新特性。
    3 |  p* Y) [6 R, e; b深入理解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的相关资源。
    0 ^2 N- J  _- @* k1 b: N+ q  \4 d. q7 s# o. C9 G1 A# K
    编辑推荐+ o4 W- Q- b0 _7 s  ~2 @" |
    深入理解C++11:C++11新特性解析与应用》编辑推荐:C++标准委员会成员和IBM XL编译器中国开发团队共同撰写,权威性毋庸置疑。系统、深入、详尽地讲解了C++11新标准中的新语言特性、新标准库特性、对原有特性的改进,以及所有这些新特性的应用。
    9 {/ x7 }( C; }- \& F7 Z* s/ B( Z  f% W3 g3 w0 |9 ]/ A
    作者简介) J: ]: b4 ~' L5 I! P+ q9 [& Q. K& A
    作者:(加拿大)Michael Wong IBM XL编译器中国开发团队5 d  i5 b$ P* \0 }
    5 K1 {' l3 [5 _3 [  H0 ^; u
    Michael Wong,C++11标准委员会(WG21)委员,WG21加拿大代表团团长及IBM公司代表(投票人),WG21 SG5(transactional Memory study group)学习小组组长。除此之外,Michael还是OpenMP委员会的CEO,SCC(Standards Council of Canada)的副主席。3 c$ r1 _: l1 u: B$ Q# {# l
    Michael是多个C++11/OpenMP/STM新特性的合作编写者,活跃于各种技术会议,而且为Programming Committee of Boost以及IWOMP等国际会议服务。Michael也是IBM公司的高级技术专家,领导IBM XL C++编译器、XL C编译器的开发工作,当前致力于IBM编译器的C++11新特性部署。Michael在并行编程、C++基准测试、对象模型、泛型编程、模板元编程等多个技术领域均有涉猎,并且在对象模型以及事务内存等方面取得过多个专利。+ |- U9 q3 A: t3 L* Q9 A
    早年Michael于多伦多大学获取得了天体物理学的学士学位,并在滑铁卢大学获得了硕士学位。在加入IBM之前,Michael曾先后供职于大卫?邓禄普天文台(David Dunlap Observatory),CDC公司(Control Data Corporation),BMO Nesbitt Burns公司等。$ ?+ N/ B+ I2 E( i* D% \: Z! p
    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新特性的开发工作。5 H5 w/ H8 Q, U& f
    . x+ e: M: X0 I0 S9 u" T& {  B8 S
    目录免责声明
    . v" ^! @  M/ e; w+ h5 ]
      M* a) X5 h0 h- P2 @前言
    8 Z: R" P! `% ?' Y" Y' v' G第1章新标准的诞生1$ I  H. r' B7 }9 {, [# S3 A! L
    1.1曙光:C++11标准的诞生1
    ! R. \' W9 V9 @$ U+ a9 V3 i# m1.1.1C++11/C++0x(以及C11/C1x)——新标准诞生1# N- N+ X% x" n, X. {
    1.1.2什么是C++11/C++0x2
    & X1 U" i% r' ?! v/ }4 W4 L1.1.3新C++语言的设计目标3
    2 T% P! Q) e5 Y2 L% K0 a* X1.2今时今日的C++5
    ! W' ?/ |  Y6 t, r5 x  P5 V3 `! C( ]1.2.1C++的江湖地位5( B, w) a. R1 f6 {1 H# z
    1.2.2C++11语言变化的领域5
    ; J3 _* }& b/ c$ }. V& \, i7 X1.3C++11特性的分类7
      v! h! I( V3 N4 \! m0 q0 K' G7 M1.4C++特性一览11
    ( Z, m4 i0 S- a2 [3 }( `1.4.1稳定性与兼容性之间的抉择11
    ' p, j4 [/ _, e( T1.4.2更倾向于使用库而不是扩展语言来实现特性12
    & L0 }; b1 [. T# Q1.4.3更倾向于通用的而不是特殊的手段来实现特性13
    * |) E9 g; O' s1.4.4专家新手一概支持13
    . y, ^6 H; n3 @1.4.5增强类型的安全性14- w: H& L! T, f2 r
    1.4.6与硬件紧密合作14
    : H* ^4 `! C$ E7 \% P8 m1.4.7开发能够改变人们思维方式的特性15
    $ |+ m/ y3 Y) b& j+ c1.4.8融入编程现实16& y9 q$ Q. t" r7 E) B
    1.5本书的约定17( W  ~  ~/ [' ?# o4 u
    1.5.1关于一些术语的翻译17
    / G  @% s8 o2 {0 c. A; \! `, E) E1.5.2关于代码中的注释17
    7 s7 ^3 g+ Q! N# R9 y% T1.5.3关于本书中的代码示例与实验平台18
      ^. s; i0 N$ O8 W6 _3 @- G( x第2章保证稳定性和兼容性19" `& t0 P) b$ T. q$ ]$ X
    2.1保持与C99兼容193 I7 f$ {7 e, \0 y( p
    2.1.1预定义宏196 O% a7 r- C0 T0 G# d3 e) x. y7 e8 p
    2.1.2_func_预定义标识符20
    0 {* J4 z( Y" P% K7 m4 k+ @4 m2.1.3_Pragma操作符22
    2 T& R9 v' X1 l2.1.4变长参数的宏定义以及_VA_ARGS_22% S) C0 c# m9 D' d. ^7 ?5 ^: T6 E
    2.1.5宽窄字符串的连接23- _8 m1 z% ^" y$ F2 _- M/ ]+ a
    2.2longlong整型23
    * [' x" V  |' q: g2.3扩展的整型25& ~3 R0 N  P7 ^
    2.4宏_cplusplus26
    - B' G% y, E4 q! L8 C4 |! S2.5静态断言27& I0 v% U) O6 m6 K+ ^) s8 ?- s
    2.5.1断言:运行时与预处理时27
    % V: a5 N, g* w6 T2.5.2静态断言与static_assert28
    0 ?( [& p( T5 W6 u2 D2.6noexcept修饰符与noexcept操作符32  h* f* `8 S: h4 }  v% {" _
    2.7快速初始化成员变量362 f$ P0 r1 l8 {
    2.8非静态成员的sizeof39
    9 m2 ]; ~1 n; e* r  }/ ^$ a1 G2.9扩展的friend语法408 L4 R. D$ Q" K
    2.10final/override控制44
    ; ^4 G$ d/ |! m0 u7 i) t% X$ i2.11模板函数的默认模板参数48
    % T; B/ ]2 Y/ Z4 b# k- q" S- g# J2.12外部模板50
    0 Q/ z, \4 s; y$ h/ L2 r; n2.12.1为什么需要外部模板50
    $ K+ y% d9 u; l! o: W2.12.2显式的实例化与外部模板的声明52
    ) ^' z! t7 p5 b/ c2.13局部和匿名类型作模板实参544 {( |, V7 x3 L% B- q0 @5 A
    2.14本章小结55
    4 A- m: ]6 B" P$ ~7 Q第3章通用为本,专用为末579 w3 q* \9 [$ U/ G- [6 [. d
    3.1继承构造函数57: E( ?2 c8 a% |' P  g
    3.2委派构造函数62% l3 l% ~% e/ a' c
    3.3右值引用:移动语义和完美转发682 t* W4 E  u7 c4 I9 s3 e" x
    3.3.1指针成员与拷贝构造68
    8 K7 ?2 y# F5 U# C8 U; d: v3.3.2移动语义69
    ( P) ?! o1 E% L9 D5 U, E  j$ i3.3.3左值、右值与右值引用75; T( n# r1 s3 Y
    3.3.4std:move:强制转化为右值80
    3 P4 F( ~, i/ v2 i: n3.3.5移动语义的一些其他问题829 h) O* ~; C) E# r" Q! p- |1 {
    3.3.6完美转发85
      D9 L! T+ s, I4 |3.4显式转换操作符89
    $ ^, V, q' i! b. G- r. F3.5列表初始化92
    9 q$ d. }, o7 e3.5.1初始化列表92
    8 }% l) D& ~+ m$ {: v) |* [5 |3.5.2防止类型收窄96& f$ K4 u' N1 j
    3.6POD类型98" Q1 |2 O8 a4 A8 h3 n( s) y+ y- K# z
    3.7非受限联合体1065 R/ O) S0 z6 v& }0 G
    3.8用户自定义字面量110
    3 N* g& O/ {7 B4 Q% E3.9内联名字空间1135 t9 ~8 G! \3 F" r) B) o- ^5 ~
    3.10模板的别名118" H6 }0 f. T$ V6 s
    3.11一般化的SFINEA规则119
    $ J# j0 b) `( j( u3.12本章小结1219 s3 |  a; m- ?5 o. X- e% g
    第4章新手易学,老兵易用123
    % C, i4 \! T0 x" M( y4.1右尖括号>的改进123  w; i4 h; ^: j/ h$ f0 S5 M
    4.2auto类型推导124
    " `3 b: y- ?  \5 g+ K  C4.2.1静态类型、动态类型与类型推导124: t6 F! ]4 {! t1 b6 f& Y
    4.2.2auto的优势126
    ) K' j* F8 m9 J) X9 J1 y. Y4.2.3auto的使用细则130, u% r" ]/ L  r
    4.3decltype134
    / n7 V- V9 B2 w, c4 e* e4.3.1typeid与decltype1345 W! k) T5 M2 c; H
    4.3.2decltype的应用136
    0 [( M: V# q: _4.3.3decltype推导四规则140
    6 N! E  P! M% J  w4.3.4cv限制符的继承与冗余的符号1436 V/ Z$ i5 p7 \. @: l
    4.4追踪返回类型145' C. e  t$ t7 {: c! Y. e; `
    4.4.1追踪返回类型的引入145
    6 m3 K8 ~. T" U0 j6 h; k6 i4.4.2使用追踪返回类型的函数146. E! o! D( a. T' \( L9 |
    4.5基于范围的for循环150
    7 q" l# s0 k3 ^" J! W+ s4.6本章小结153* V: S! f2 E  S- t/ t# T
    第5章提高类型安全155
    # a5 _" H/ @7 L  |) ^5 m5.1强类型枚举155
    ; p6 R- F0 `8 h5.1.1枚举:分门别类与数值的名字155
    ( L/ M, I' C0 N+ S& d6 o4 S5.1.2有缺陷的枚举类型156! [8 z/ \& H, K2 l
    5.1.3强类型枚举以及C++11对原有枚举类型的扩展160
    * a0 r: K8 i( x' ]5.2堆内存管理:智能指针与垃圾回收163
    & i! r- j, j4 {% @5.2.1显式内存管理163: t( [( [' a# f! B, l
    5.2.2C++11的智能指针164
    8 V. ?" {4 a; b$ `) s5.2.3垃圾回收的分类167
    4 u, l% w8 @- v9 V6 k" e* |4 I5.2.4C++与垃圾回收169
    9 f& H% J* m4 _& Z3 m5.2.5C++11与最小垃圾回收支持170, Z. @* N2 p. N) {" `
    5.2.6垃圾回收的兼容性1727 b1 W- Q7 W3 e  \
    5.3本章小结173+ C: T& q& i" W1 G, F- c6 w
    第6章提高性能及操作硬件的能力174
    + B4 i* K" V$ f3 Z* [% }6.1常量表达式174
      M* R# B* p$ R. B4 F4 r6.1.1运行时常量性与编译时常量性1747 S- _6 T& R9 z' }9 {* K* F
    6.1.2常量表达式函数176$ h5 K5 [8 @" D3 D2 k' K
    6.1.3常量表达式值178
    ; z# D  x$ _: E  Q6.1.4常量表达式的其他应用180- S1 ^% u9 b+ Q6 v$ q; |
    6.2变长模板183
    1 ?$ x$ u' `0 c6.2.1变长函数和变长的模板参数183
    3 }+ x! Z2 {7 _) Y! M6.2.2变长模板:模板参数包和函数参数包185
    % g3 _  e' _' x% k: F/ Y6.2.3变长模板:进阶189
    ) z5 c6 p0 k+ m5 I, s% |1 u6.3原子类型与原子操作1969 J) B, d+ c# p) y+ i9 m- r0 e3 @1 r
    6.3.1并行编程、多线程与C++11196' l8 R4 ~, L" }5 V" ?( ~
    6.3.2原子操作与C++11原子类型197
    ) b7 t' S, z" F$ g6 A, x5 _6.3.3内存模型,顺序一致性与memory_order203, |" a' K2 T6 G5 L  m
    6.4线程局部存储214
    5 u* s$ N; _. D" U6.5快速退出:quick_exit与at_quick_exit216
    - V0 G2 r- x5 Y6.6本章小结219% D2 P5 _3 _1 }9 \; l* c
    第7章为改变思考方式而改变220
    5 k" q/ u9 M# M* X( I7.1指针空值—nullptr2201 E0 H7 n% x& @6 Z
    7.1.1指针空值:从0到NULL,再到nullptr220
    # M0 y1 i5 K  B( ~7.1.2nullptr和nullptr_t223
    2 o% O/ l$ S2 S* [' E; ?1 \2 o2 [" t7.1.3一些关于nullptr规则的讨论225
    7 N' y  d8 q- y" x- n0 n7.2默认函数的控制227
    8 s% X8 ?% q9 a- h% c0 t7 p7.2.1类与默认函数227
    , T- V5 S" o4 r( E( Z6 v9 p7.2.2“=default”与“=deleted”230) z# Q. j" ~4 N* j, p) K; S
    7.3lambda函数234) n* r% p* c0 a/ D
    7.3.1lambda的一些历史234
    : W# v1 Z: {- w  a7.3.2C++11中的lambda函数235
    6 D, W! _. S4 V$ J  U! Z0 ^% R7.3.3lambda与仿函数238
    2 H& Z1 G& `1 t" \  @- @+ s7.3.4lambda的基础使用240+ c' M* T3 Z3 H
    7.3.5关于lambda的一些问题及有趣的实验243
    ' x7 O8 i2 I0 o! q7.3.6lambda与STL247
    / d* w( p) B/ \$ k  q1 V- T7.3.7更多的一些关于lambda的讨论254
    ! Y2 k+ Y- X  j! R" t, `  S7.4本章小结256: v- w# e; a2 k* C! c- l
    第8章融入实际应用2583 q( D0 U6 Z/ ]' k* T
    8.1对齐支持2588 J( t$ n0 f; K5 P. X
    8.1.1数据对齐258
    ' T% [/ x8 o( f" g# [& u( d" Y8.1.2C++11的alignof和alignas261
      b) y7 A2 \1 `, L* [' f8.2通用属性267- D/ t- e+ _  e% f2 c- t' x
    8.2.1语言扩展到通用属性2670 o1 j$ X0 p5 {8 P- L! ?8 @
    8.2.2C++11的通用属性268/ W2 B% _$ e. [  M& m
    8.2.3预定义的通用属性270
    ! R8 O: s% k5 U0 _% k/ U# ^: N4 ?" i8.3Unicode支持274" J* F4 Q1 `  Q! o
    8.3.1字符集、编码和Unicode274
    % s9 Q3 q+ h$ v2 z$ |8.3.2C++11中的Unicode支持276
    # G  X/ u( p, W" t9 t$ {/ o2 V8.3.3关于Unicode的库支持280) X% n0 u* N3 s. q" @8 Z
    8.4原生字符串字面量284
    7 M# \2 V. W; N3 Y2 k1 Q/ ?3 D8.5本章小结286: d9 _6 G1 g" Y% Z0 m+ A8 _
    附录AC++11对其他标准的不兼容项目287
    7 \0 _% F/ }3 W& |+ }" d/ M附录B弃用的特性294
    / f* s6 w7 \; X5 ]5 R7 ]附录C编译器支持301
    2 G* a: W* E* w6 s" @7 y5 K附录D相关资源3044 B7 w- `* N7 J
    & Q" D. a' C% r/ p1 F8 u" P, J2 s7 [

    : r2 E* Q* L' r, Z- X' v! S封面
    7 e* o  a( j( h3 ]- q 1.jpg , K0 y8 Z' L! g

    ; ?; h/ n- w7 C( m/ m% c截图# ]0 f, W* w, J+ B  @4 m* v8 W
    2.jpg
    5 F) F. O% k; s9 N! }6 I$ c* O
    游客,如果您要查看本帖隐藏内容请回复
    6 Z4 k6 g' w) S% P/ y! d( {& X
    / b' F  g! V7 H

    5 Z* S2 y' m0 }" A6 L  W/ k0 |
    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-9-4 22:14 , Processed in 0.553777 second(s), 107 queries .

    回顶部