QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5168|回复: 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 编辑
    6 r# j/ r$ V0 j8 G" I: K6 }4 O( L3 L5 {+ S8 h  @1 V1 Y$ }
    内容简介* A, ^& E5 n4 j1 F  _+ d
    深入理解C++11:C++11新特性解析与应用》内容简介:国内首本全面深入解读C++11新标准的专著,由C++标准委员会代表和IBM XL编译器中国开发团队共同撰写。不仅详细阐述了C++11标准的设计原则,而且系统地讲解了C++11新标准中的所有新语言特性、新标准库特性、对原有特性的改进,以及如何应用所有这些新特性。
    7 B8 d. g) Z+ |- b  o6 _+ i深入理解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的相关资源。
    9 x6 h9 m  Y7 D  z0 I5 z4 Q' U9 X' z- l5 g! u; K& Q. [
    编辑推荐
    4 b6 ]9 U0 m# e* I1 Q深入理解C++11:C++11新特性解析与应用》编辑推荐:C++标准委员会成员和IBM XL编译器中国开发团队共同撰写,权威性毋庸置疑。系统、深入、详尽地讲解了C++11新标准中的新语言特性、新标准库特性、对原有特性的改进,以及所有这些新特性的应用。
    7 G8 Z# Z: ^$ \/ g5 s4 _( ]6 Y; B. B+ l" }0 V' o, I0 D2 z
    作者简介% V1 X2 I$ O0 U+ K
    作者:(加拿大)Michael Wong IBM XL编译器中国开发团队
    ) [& e  \+ v8 d
    / g- b) C; |# d5 U  z" d# [Michael Wong,C++11标准委员会(WG21)委员,WG21加拿大代表团团长及IBM公司代表(投票人),WG21 SG5(transactional Memory study group)学习小组组长。除此之外,Michael还是OpenMP委员会的CEO,SCC(Standards Council of Canada)的副主席。5 n6 q. Z3 w. w/ F  o& M
    Michael是多个C++11/OpenMP/STM新特性的合作编写者,活跃于各种技术会议,而且为Programming Committee of Boost以及IWOMP等国际会议服务。Michael也是IBM公司的高级技术专家,领导IBM XL C++编译器、XL C编译器的开发工作,当前致力于IBM编译器的C++11新特性部署。Michael在并行编程、C++基准测试、对象模型、泛型编程、模板元编程等多个技术领域均有涉猎,并且在对象模型以及事务内存等方面取得过多个专利。
    1 Z  B7 d0 `. _早年Michael于多伦多大学获取得了天体物理学的学士学位,并在滑铁卢大学获得了硕士学位。在加入IBM之前,Michael曾先后供职于大卫?邓禄普天文台(David Dunlap Observatory),CDC公司(Control Data Corporation),BMO Nesbitt Burns公司等。" X0 i' h3 E. k' r+ m( O
    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新特性的开发工作。' w- X# }4 b+ G& H8 y$ U
    ) j1 i) r. ^. M7 l- B  ?7 G
    目录免责声明
    9 ?* x: u( S' X8 [7 g7 W- Z! e: o/ m% j9 J, @) D6 w
    前言
    $ V+ R: Y# V- @/ y4 A3 u第1章新标准的诞生11 t" N% F& r+ @5 a3 l: k8 D* ?
    1.1曙光:C++11标准的诞生1: p6 T+ B$ ?* D0 f4 l+ U3 E, c* U
    1.1.1C++11/C++0x(以及C11/C1x)——新标准诞生15 W, e9 F; O* D, C. |( i( E
    1.1.2什么是C++11/C++0x2* ^5 s5 y3 {  J5 p  ?+ G, n% a6 |
    1.1.3新C++语言的设计目标3
    ' D" {! t( H" Y1.2今时今日的C++5
    / p: }2 T8 P. d, l1.2.1C++的江湖地位5* r7 h* n6 g/ X$ t( }% T: G6 z  Y
    1.2.2C++11语言变化的领域58 O& m1 _4 J2 H7 T$ ?3 u0 n
    1.3C++11特性的分类7
    6 H- r0 ^* D" m1 y' a; I1.4C++特性一览11
    4 e' v) w: v9 z, r3 d( b% i) ~1.4.1稳定性与兼容性之间的抉择11
    - i6 Y& ?" I/ r9 d8 x  x1.4.2更倾向于使用库而不是扩展语言来实现特性127 F- C9 a  G; r" ~
    1.4.3更倾向于通用的而不是特殊的手段来实现特性13& q6 P$ C, R1 b$ n9 R. r/ V" U  g
    1.4.4专家新手一概支持13" D. I" y" ?3 r5 a# w) `6 v
    1.4.5增强类型的安全性14+ W8 I, d( ]( X
    1.4.6与硬件紧密合作149 T. m# x! y/ H: i  Y9 _
    1.4.7开发能够改变人们思维方式的特性15
    % W1 u  I. Y" o* y& K1.4.8融入编程现实16
    8 M/ e8 x5 Y) C0 x2 n1.5本书的约定17& V+ J7 z8 j/ Z: d+ ~# Y( A
    1.5.1关于一些术语的翻译176 r  y; O* k9 n( q* k
    1.5.2关于代码中的注释17
    6 J# O6 ]  c/ k( B1.5.3关于本书中的代码示例与实验平台184 x3 ~5 D& }; y1 r# a+ i- ~# j
    第2章保证稳定性和兼容性19& l5 K5 P, ?( k1 v( S
    2.1保持与C99兼容19
    & \3 U  [) ~# _4 d' A2.1.1预定义宏190 E! e1 _: \1 N- T
    2.1.2_func_预定义标识符20
    4 c2 ~( s- t+ D! V5 k. f. F2.1.3_Pragma操作符221 t: D" r, J8 G! y$ k
    2.1.4变长参数的宏定义以及_VA_ARGS_22
    - j9 I8 F2 ?6 B2.1.5宽窄字符串的连接23
    . F+ D+ g1 U8 b) p- G2.2longlong整型23
    0 @, S& `9 H, t: A2.3扩展的整型25
    & O( K' r6 O- `0 J! o2.4宏_cplusplus263 l4 `1 G% y) x9 p  o* l6 v( N) s
    2.5静态断言27, F  i. t) N1 D
    2.5.1断言:运行时与预处理时27. p! a) T5 m3 b/ q- j& j, X2 f3 m4 r
    2.5.2静态断言与static_assert282 L0 Z/ ]0 T/ T0 x0 u4 F5 n4 y, M0 x
    2.6noexcept修饰符与noexcept操作符322 x4 V1 q. t7 o( \- e1 o) g$ S
    2.7快速初始化成员变量361 U# f8 A+ p: [: C
    2.8非静态成员的sizeof39
    - |2 ~& M2 A, ~/ ]2 i' T2.9扩展的friend语法400 k' A7 G0 I9 \8 R
    2.10final/override控制44
    . y% S- d# G1 `2.11模板函数的默认模板参数48
    ' e& p6 B4 X. `% A2.12外部模板503 i$ `: ]( Z; `5 W2 `! {7 I/ z
    2.12.1为什么需要外部模板50$ Y' ^2 u; x& g! l) ~
    2.12.2显式的实例化与外部模板的声明523 c2 E7 @9 p* G: M4 D: t
    2.13局部和匿名类型作模板实参54% R3 R% a/ |  D9 R) G: r5 D0 c
    2.14本章小结55' H8 U6 q, b3 ~7 B
    第3章通用为本,专用为末579 o: ~. K+ P% ^3 ~: @4 h
    3.1继承构造函数57: d3 X! b; M; w: }9 N; I( Z
    3.2委派构造函数62
    : W& o/ M" N( x$ T3.3右值引用:移动语义和完美转发68
    - _: n. w% L  N0 k3.3.1指针成员与拷贝构造68
    : w! E& z, Z7 ~- e( i, x) Q3.3.2移动语义695 g# S2 ^  x9 Q  F1 c+ Y
    3.3.3左值、右值与右值引用75
    2 X( t  R7 b( Q# R- D5 j% H5 n3.3.4std:move:强制转化为右值801 I  E2 B' H: S7 o' y  B
    3.3.5移动语义的一些其他问题82! C3 @5 b6 ~" M% X, p" Q  ?
    3.3.6完美转发85( m' t! e+ s1 q  ~6 J, {: ?' {. Z9 g
    3.4显式转换操作符895 d7 ]/ d2 U* x" `% y' K5 e
    3.5列表初始化92
    , h( m9 x' x: R- K/ r9 v3.5.1初始化列表92
    ; U/ A7 U; i: K& D1 w3.5.2防止类型收窄96
      _/ z7 F  M8 Q! b# S" w3.6POD类型98
    8 ]3 A# A, i  B3.7非受限联合体106
    8 a9 y3 u2 N' z( e2 ]7 {. t& z" L3.8用户自定义字面量110* ?* a$ M/ B2 l/ U
    3.9内联名字空间113
    0 U4 o7 B9 ]2 L. O: }2 j' C- n% ]3.10模板的别名118
    8 s. j: U8 M1 f7 c, B& h) F' J3.11一般化的SFINEA规则119
    - A5 ^6 y; Z* U+ u* Z5 ~' z3.12本章小结121! Z3 k4 N" M( P  B& s
    第4章新手易学,老兵易用123% F& \" n) e# q2 C0 j* ^
    4.1右尖括号>的改进1232 i  p  a6 B, \9 K
    4.2auto类型推导124+ G) f. z7 @: q
    4.2.1静态类型、动态类型与类型推导124
    ; [8 ?: z; e( Y$ T4.2.2auto的优势1268 m' n$ Y/ v* g& r3 u4 g$ n
    4.2.3auto的使用细则130
    : M6 E5 N# d. d- x: z4.3decltype134
    $ W: A" V6 p8 `( |4.3.1typeid与decltype134' e  `/ K: S! {) P5 V; I
    4.3.2decltype的应用1367 `2 s4 z% Z9 r
    4.3.3decltype推导四规则1402 ~" y& N* t- B
    4.3.4cv限制符的继承与冗余的符号143# i3 R+ r' \) Q: f2 k2 T
    4.4追踪返回类型145
      {& @1 G  Y, ?4.4.1追踪返回类型的引入145
    2 Y6 T* e* j8 E. L4.4.2使用追踪返回类型的函数146: Z2 m9 k9 e4 q0 h5 C$ P0 v
    4.5基于范围的for循环150
    1 }1 r0 w, h+ v* |0 C# _8 J4.6本章小结153
    5 S8 i5 X0 q" _% I% f6 i第5章提高类型安全155& Z/ L3 l0 M" W' S) d( `) Z
    5.1强类型枚举155" K# V5 {2 m+ P  u, }0 c! Z
    5.1.1枚举:分门别类与数值的名字155
    ( W  L0 N& s  P7 B1 N! w5 ]" X% z% a5.1.2有缺陷的枚举类型1562 B+ y6 t# s( J0 I- n
    5.1.3强类型枚举以及C++11对原有枚举类型的扩展160
    1 z3 O  Y1 B) w5 i5 o5.2堆内存管理:智能指针与垃圾回收163) a7 Y& A+ W' ]/ r6 I- X
    5.2.1显式内存管理163: K  G; w! D9 f/ A) T) B( A% p
    5.2.2C++11的智能指针164& k. S3 y: ?' z' \  I: ~
    5.2.3垃圾回收的分类167
    ( M. y7 o4 @( R! v* z6 N- `! P7 ^8 f( _5.2.4C++与垃圾回收169. V& G: B# I, F2 b, `# n% r, a
    5.2.5C++11与最小垃圾回收支持170
    * S: Y- L( M# O: n5.2.6垃圾回收的兼容性172
    ' y# O4 ?+ a$ a8 F1 z( _5.3本章小结173
    # V+ n7 y* ^5 R3 m& a1 Z8 `. t第6章提高性能及操作硬件的能力174
      ]2 i& }1 D/ {8 y7 f6.1常量表达式174
    - W0 ^' s8 C" l7 p5 H7 P6.1.1运行时常量性与编译时常量性174
    * q& y5 d2 Y# _6.1.2常量表达式函数1760 G8 f/ a% f6 l. E# l* i
    6.1.3常量表达式值178
    . H/ e# \* k( H% U1 e9 ?3 w6.1.4常量表达式的其他应用180
      m7 [4 N& S2 B& o7 o( S& t8 y6.2变长模板183
    - |1 e# y' n5 k2 V# l; @6.2.1变长函数和变长的模板参数1839 L( j3 w2 Z- {' h7 h# C1 }
    6.2.2变长模板:模板参数包和函数参数包1852 R9 _6 D; k/ j( u* a: d
    6.2.3变长模板:进阶189) P4 B) m0 d$ z) M1 Y
    6.3原子类型与原子操作196
    0 y  B& B2 O6 C$ N; ~6 U% v9 N! W6 ?6.3.1并行编程、多线程与C++11196' {5 U) T: y0 _- y& v) g
    6.3.2原子操作与C++11原子类型197
    ) i/ O" J# T" l6.3.3内存模型,顺序一致性与memory_order203
      e7 c. _" w/ x+ N6.4线程局部存储2142 n( {3 m* m' p% K# r! B
    6.5快速退出:quick_exit与at_quick_exit216
    4 d; z' ?3 N6 l. d4 i6.6本章小结219
    5 K6 X$ T- U  e3 `第7章为改变思考方式而改变220
    " `4 ^* n% M  M1 l$ v* P7.1指针空值—nullptr220
    # C6 M+ h( C1 f' ^7.1.1指针空值:从0到NULL,再到nullptr2209 ^+ ~6 G& d: p7 C% p' W
    7.1.2nullptr和nullptr_t223
    , G* W& `# L6 m7.1.3一些关于nullptr规则的讨论2252 |& N* o& p. x8 `8 Z% N  \
    7.2默认函数的控制227
    6 ]( i3 w$ K9 |% c( \7.2.1类与默认函数2273 A. h) [  h* I; L% h
    7.2.2“=default”与“=deleted”230! q: v# _, z  n: g  R
    7.3lambda函数234
    : ~1 }: _' v5 H5 U3 v7.3.1lambda的一些历史234
    ) l3 r# [3 H; U! ]4 B. D, R7 Q7.3.2C++11中的lambda函数235
    . H4 s& l9 E2 D8 b' I) ]3 u- ]7.3.3lambda与仿函数2387 ^/ U9 G+ g' ]
    7.3.4lambda的基础使用240/ K" O- d: p/ p/ z
    7.3.5关于lambda的一些问题及有趣的实验243
    ) i9 e8 k$ A2 Y( T6 K. r$ }7.3.6lambda与STL247
    ! U( t' M6 R1 U, a5 r( N7 K7.3.7更多的一些关于lambda的讨论2547 I' J0 h, Y+ _% |8 c" Q% ]" J
    7.4本章小结256
    2 m( }; D; u2 r第8章融入实际应用2582 P6 G: t8 X% I1 `) E
    8.1对齐支持258
    , }5 H. k- W$ p5 A& h6 c; F8.1.1数据对齐258) Y3 Z) z4 v  b2 E
    8.1.2C++11的alignof和alignas261
    ' j& P6 c2 r# e, Z) t5 S8.2通用属性267
    " I# e1 |4 R3 W4 U8.2.1语言扩展到通用属性2672 X! R3 s. b, m# M9 w5 j* c& [. @9 r
    8.2.2C++11的通用属性2681 {$ u: _; G% W* i) R! F
    8.2.3预定义的通用属性270
    ! A' ~/ K+ J6 j8.3Unicode支持274# H. o3 D! s) i/ `" N4 V- F
    8.3.1字符集、编码和Unicode274
    0 Z, _1 d" l* x8.3.2C++11中的Unicode支持276" `3 e7 ^8 v5 }; k
    8.3.3关于Unicode的库支持2801 `; G; D( s. s6 q
    8.4原生字符串字面量284
    ; X5 ?) M7 _3 H6 [8.5本章小结286
    % x9 x5 e/ R) N2 e/ Q附录AC++11对其他标准的不兼容项目287
    " u1 M( T, Z3 O7 f1 \- ?  T1 C附录B弃用的特性2946 L( |7 D; l7 J3 ^6 @- d+ \9 r
    附录C编译器支持301
      a* F) J( a: j  S附录D相关资源304) v8 U/ c/ l, k/ G+ W( `

    3 ?& R6 q1 H1 Q2 |5 c* `; u. _( b: ^, `+ j& J( y& U& Z) p+ v
    封面+ F4 `9 c& T$ K: i0 m
    1.jpg
    & W* T7 o4 q" u* s
    * q- T3 C, V9 ]1 p1 H) L/ c截图
    . X3 c" N* j: } 2.jpg
    ' [5 P- n8 U3 B; ?4 C( }+ c' t
    游客,如果您要查看本帖隐藏内容请回复

    0 _5 O! c* {6 ]$ C1 R
    3 P8 D. ], v3 e% _
    4 u. F0 ~" M" D4 O- L0 B
    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 18:22 , Processed in 0.543528 second(s), 107 queries .

    回顶部