QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5069|回复: 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 编辑 # w- V9 ?: p/ j2 w$ u" k, H8 z/ o

    - ^3 h7 y  a1 b) ~% A( H内容简介& w! d( a  A! {" \- p9 v
    深入理解C++11:C++11新特性解析与应用》内容简介:国内首本全面深入解读C++11新标准的专著,由C++标准委员会代表和IBM XL编译器中国开发团队共同撰写。不仅详细阐述了C++11标准的设计原则,而且系统地讲解了C++11新标准中的所有新语言特性、新标准库特性、对原有特性的改进,以及如何应用所有这些新特性。: f  o" b, s* }/ ^4 S
    深入理解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的相关资源。8 p9 S- `4 m1 e" |' R' p* h

    - V7 e0 I5 M7 i) ^7 c& ~编辑推荐
    ( ^( V$ O- p3 D深入理解C++11:C++11新特性解析与应用》编辑推荐:C++标准委员会成员和IBM XL编译器中国开发团队共同撰写,权威性毋庸置疑。系统、深入、详尽地讲解了C++11新标准中的新语言特性、新标准库特性、对原有特性的改进,以及所有这些新特性的应用。0 I: r( L$ o6 O! h" E

    5 [7 V, z& c# b) p6 N+ S9 f& B作者简介
    & A& B$ q% I3 c1 C- V$ {1 s3 z  t作者:(加拿大)Michael Wong IBM XL编译器中国开发团队9 g: z8 @7 Q1 v+ l% w

    + W- g6 `4 B9 RMichael Wong,C++11标准委员会(WG21)委员,WG21加拿大代表团团长及IBM公司代表(投票人),WG21 SG5(transactional Memory study group)学习小组组长。除此之外,Michael还是OpenMP委员会的CEO,SCC(Standards Council of Canada)的副主席。  @) P% R4 |; K; r+ `
    Michael是多个C++11/OpenMP/STM新特性的合作编写者,活跃于各种技术会议,而且为Programming Committee of Boost以及IWOMP等国际会议服务。Michael也是IBM公司的高级技术专家,领导IBM XL C++编译器、XL C编译器的开发工作,当前致力于IBM编译器的C++11新特性部署。Michael在并行编程、C++基准测试、对象模型、泛型编程、模板元编程等多个技术领域均有涉猎,并且在对象模型以及事务内存等方面取得过多个专利。
    % D8 x% Z" E# h; y8 K- E早年Michael于多伦多大学获取得了天体物理学的学士学位,并在滑铁卢大学获得了硕士学位。在加入IBM之前,Michael曾先后供职于大卫?邓禄普天文台(David Dunlap Observatory),CDC公司(Control Data Corporation),BMO Nesbitt Burns公司等。
      f# r* |9 x$ y$ z! BIBM 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新特性的开发工作。2 l1 j6 ^7 ?! P. L7 |
    " x  T7 Y" X$ M  v- B! x* X' T
    目录免责声明5 ?& N4 ]4 C" v' M2 E. M9 g9 q
    * D  j9 d0 l6 M& V; o
    前言
    # [$ f" X  i2 Q第1章新标准的诞生1# f$ a- f6 e. ]( o+ Z/ s8 ^/ T
    1.1曙光:C++11标准的诞生1
    $ d/ I: T" i& |3 y3 {1.1.1C++11/C++0x(以及C11/C1x)——新标准诞生1
    7 H$ x# L! Q' ^- r2 ]1.1.2什么是C++11/C++0x2
    ) c. X* A  E2 ]$ q9 j0 L/ o1.1.3新C++语言的设计目标3+ U) g8 s2 j- b* J& T% b
    1.2今时今日的C++53 ~+ b- W: P% N# ~) N
    1.2.1C++的江湖地位5$ e! \6 S7 h- t4 I5 z! r
    1.2.2C++11语言变化的领域5  p( ?8 |: D* ~5 ~: c! t/ w, V
    1.3C++11特性的分类73 x4 y/ G/ m- W1 r9 I' Z
    1.4C++特性一览11
    1 y  I* w- a2 y1.4.1稳定性与兼容性之间的抉择11
    7 i6 G" c+ ~6 |$ U5 x1.4.2更倾向于使用库而不是扩展语言来实现特性12+ \5 r$ p: R0 \( I. {' n/ [2 d
    1.4.3更倾向于通用的而不是特殊的手段来实现特性13! c7 \  g! u# `# u& p' y* z! S0 H
    1.4.4专家新手一概支持13& V8 f/ q/ _8 Z  y9 h7 B& Z0 ~/ h
    1.4.5增强类型的安全性14
      X1 e. z  E  N  v1 A. c1.4.6与硬件紧密合作14
    : g0 K6 a& I& I" o4 T9 R) F1 w1.4.7开发能够改变人们思维方式的特性150 g1 J& C$ z3 [9 ]6 Q
    1.4.8融入编程现实16( v0 I! D* ^- L  o, d0 \; {
    1.5本书的约定170 r; j& Q/ e4 q: g$ U
    1.5.1关于一些术语的翻译171 g; X# K3 v8 e# k% ^9 t5 ]+ V
    1.5.2关于代码中的注释17
    6 q# E  v( z  z  O5 l: U* F6 Q1.5.3关于本书中的代码示例与实验平台188 a8 z' ?( |8 c" ?# g$ b# j4 T
    第2章保证稳定性和兼容性19
    7 T) K' g' _/ ^3 W* K& y# Y1 v! r2.1保持与C99兼容194 T  ?# E" r4 H7 u$ {  k- C3 {
    2.1.1预定义宏197 k/ [, N- u1 G: L1 s4 A% o2 P
    2.1.2_func_预定义标识符20" }2 v1 D2 K8 s- ?" |* u2 h
    2.1.3_Pragma操作符22
    2 k7 z7 C" k- t+ v6 G2.1.4变长参数的宏定义以及_VA_ARGS_229 b+ m/ b$ Q" \0 A" l
    2.1.5宽窄字符串的连接23
    " S9 k  g4 F9 T2.2longlong整型23
    . K/ r0 W+ x1 w6 O! Y" y/ O0 S: X) ~2.3扩展的整型25
    ( n# h: F9 i: d% X7 k2.4宏_cplusplus26/ H$ |0 A$ m( W6 ]/ c
    2.5静态断言27
    ) Z# D4 p5 \+ K' T4 z8 j8 ]2.5.1断言:运行时与预处理时27' U6 O" {' ^+ W6 I* _$ D* L$ j
    2.5.2静态断言与static_assert28* a1 J0 T+ h/ Z, a4 W
    2.6noexcept修饰符与noexcept操作符32
    5 T! p5 r* M; f5 \. H2.7快速初始化成员变量36
    2 M$ R1 N" }2 F8 X9 ^: N2.8非静态成员的sizeof393 e# w! m: a& l6 C
    2.9扩展的friend语法408 Y- s$ T' g2 I' g8 W1 y3 T& O, r
    2.10final/override控制44& s$ l0 c8 W) O8 ]$ X9 d/ C
    2.11模板函数的默认模板参数48
    ( X' C; N1 [2 H2.12外部模板50
    % G7 ~9 q3 F  a; w2.12.1为什么需要外部模板50
    1 l' i- W: m7 ~2 S! j2 m2.12.2显式的实例化与外部模板的声明525 h: ?( B  W6 ]! g* V2 @
    2.13局部和匿名类型作模板实参545 C! ~& J% z( q+ ]' t" ~, X
    2.14本章小结557 c; w7 u+ S$ K! |; s' W9 Y/ ^
    第3章通用为本,专用为末57
    6 D. `0 R) l$ {9 C3.1继承构造函数574 p! N! p5 l0 C+ B9 {! }
    3.2委派构造函数62
    1 u2 u. m5 T( N3.3右值引用:移动语义和完美转发68- Z1 _8 {) y# _; {4 M4 M1 }
    3.3.1指针成员与拷贝构造68
    0 X0 o4 y2 b+ L9 {# A) _3.3.2移动语义699 k6 d* Y7 `! G4 q# F4 x* }
    3.3.3左值、右值与右值引用75
    " V) @+ e/ b- f8 B3.3.4std:move:强制转化为右值80, b2 K1 Y8 N$ Z: K! n( \& f
    3.3.5移动语义的一些其他问题82% M, c  [* B1 ~; G6 P2 L
    3.3.6完美转发85: ?  u, q: c) z9 A
    3.4显式转换操作符89
    - C2 N3 L- F% H2 _4 i3.5列表初始化923 k/ n8 |  m) Z$ _# C, d; [8 h
    3.5.1初始化列表92+ q& o. r, g" C. p+ h! Q/ R; Q- L/ P
    3.5.2防止类型收窄96! o7 S# Y- {; g1 B0 j) P0 l! ^; r
    3.6POD类型98
    ( R' ?% U; N3 y7 y3.7非受限联合体1061 N" m2 U& s: E1 B9 U- K# i
    3.8用户自定义字面量110, e6 z/ |2 g7 G. [& g+ G+ @
    3.9内联名字空间113. N0 `, B* S1 S, P7 q4 Z
    3.10模板的别名118. o0 V3 n, b& i4 f" O# w
    3.11一般化的SFINEA规则119
    ' D' ]# J% @. `4 }! O3.12本章小结1215 r: V) o. h( G  W/ _
    第4章新手易学,老兵易用123
    . S; D. g4 B9 f9 e0 C. D) w3 l4.1右尖括号>的改进123
    . [% @! D- e- e; E( m4.2auto类型推导1248 K. s! i  j1 P7 J4 \7 `
    4.2.1静态类型、动态类型与类型推导124; S: X) O) [) q5 P4 ?: f
    4.2.2auto的优势1269 r5 w9 w( k7 G. A
    4.2.3auto的使用细则130
      [) n. e  F/ r& ]4 L9 g4 \4.3decltype134
    : C1 A. {# g  U/ G( @7 N0 D2 ~4.3.1typeid与decltype134! w! J& }4 t( i. z4 T
    4.3.2decltype的应用136
    4 }# u* Z/ _$ K6 I% \* H8 g5 o1 H0 N4.3.3decltype推导四规则140# z- x' I7 t( h, h+ V! Y
    4.3.4cv限制符的继承与冗余的符号1438 j& z( X+ s4 k
    4.4追踪返回类型145( i7 ~# p0 ?- c: Z4 g
    4.4.1追踪返回类型的引入145
    " q! [& A$ ^  b' M6 q  N4.4.2使用追踪返回类型的函数146
    ! a. r9 l1 R( p4.5基于范围的for循环1500 k' f, ^: _3 j( [- L
    4.6本章小结153
    ; _: U' Q* H3 L6 s) Y8 Y7 y# D5 {" l第5章提高类型安全155& _9 e* b! a0 |% c" I
    5.1强类型枚举155
    1 ?. f; X! n0 B- z. F5.1.1枚举:分门别类与数值的名字155
    6 W2 b9 u+ z, \) \% D7 w* S% Z1 c5.1.2有缺陷的枚举类型156
    ! _% _5 Q' h% W0 g+ ?$ B+ Q+ c$ q5.1.3强类型枚举以及C++11对原有枚举类型的扩展1600 J  W- Q/ z, w  W$ w; w) |
    5.2堆内存管理:智能指针与垃圾回收163
    - u4 ~- ^! a& Q6 O4 `8 W" T2 a5 A5.2.1显式内存管理163  `& B& e) O" m( E
    5.2.2C++11的智能指针164
    / x' P! k# Y* s* l5.2.3垃圾回收的分类167$ P! G3 Z! [% \
    5.2.4C++与垃圾回收169( M+ b9 I1 o  n6 J
    5.2.5C++11与最小垃圾回收支持170
    4 f8 J" b% g9 K! p) |5.2.6垃圾回收的兼容性1724 u. s4 J! B9 }) T  C1 d, w( T/ G% `
    5.3本章小结173
    9 |" c, s7 I' U( s/ j第6章提高性能及操作硬件的能力174
    6 C6 k" n: K0 _& Y3 N' @7 y9 F6.1常量表达式174# ^6 D, D- X' w+ L
    6.1.1运行时常量性与编译时常量性174& D: Q* Q( P* ]* ^7 X% _
    6.1.2常量表达式函数176
    & s3 N% f: e( J6.1.3常量表达式值178
    : F# y6 _% Y7 d; {, z6.1.4常量表达式的其他应用180
      p: L. f% y3 e4 |& K. k0 ?6.2变长模板183
    ! S& e. e- V' D: T3 q; a) ^6.2.1变长函数和变长的模板参数183
    8 H/ I! Z: p# D) d* D/ U7 t8 {9 i6.2.2变长模板:模板参数包和函数参数包1853 w4 M6 V& N) h  L3 a% A
    6.2.3变长模板:进阶189
    # {2 s6 H& l# i1 ^6.3原子类型与原子操作196
    # m' A$ x& [. A) s, D3 t4 f1 I; V6.3.1并行编程、多线程与C++11196  P) G% ]8 k8 |) d. a, x
    6.3.2原子操作与C++11原子类型197$ _* T: l- A" d. {0 A2 |
    6.3.3内存模型,顺序一致性与memory_order203
    3 X; M' H& |; t# K+ j9 t) T6.4线程局部存储214
    . ]6 `; [( Q3 p" H$ y. }0 b6.5快速退出:quick_exit与at_quick_exit2167 |- F! w+ \" s  b: O$ s" v
    6.6本章小结219
    / w/ N( T, r0 w- r3 J7 m第7章为改变思考方式而改变220/ r: Z  B. y( W$ M( c# H
    7.1指针空值—nullptr220" h$ T, D7 A3 a: d
    7.1.1指针空值:从0到NULL,再到nullptr220
    8 I- m. C$ s- ~7.1.2nullptr和nullptr_t223
    7 [, c! c, G9 T  |# b7.1.3一些关于nullptr规则的讨论225! h3 h5 K) z( f! v# c
    7.2默认函数的控制227+ _) G- M, s! h; }" m. z. A
    7.2.1类与默认函数227
    1 C( C7 F$ u8 Q2 n' ]5 K7.2.2“=default”与“=deleted”2304 k* }( Q0 G+ Y) F
    7.3lambda函数234. G2 B( Q% ]% @# B: h
    7.3.1lambda的一些历史2345 h$ H" W6 K! S9 R4 }4 v! G
    7.3.2C++11中的lambda函数235
    1 Z" ~: O  m5 V! u7.3.3lambda与仿函数238
    0 b! |, k# o1 t# p( B5 @7.3.4lambda的基础使用240! F+ ?  f- X/ m) y5 j, k7 w3 X
    7.3.5关于lambda的一些问题及有趣的实验243& F  A* g8 b) z# L7 q
    7.3.6lambda与STL2476 s% n' a; O2 A, U! G
    7.3.7更多的一些关于lambda的讨论254
    # R, ]6 r' J# m+ a4 G1 E6 a7.4本章小结256
    , C: s/ ~3 P& c0 t; k3 I2 c: [第8章融入实际应用2584 K- l& h' b2 j: P  P* n
    8.1对齐支持2581 h0 ~5 G  E( O3 w% U- P
    8.1.1数据对齐258
    6 n- A+ Y. R9 O( x8.1.2C++11的alignof和alignas261
    * I9 ]! y# k* }6 X8.2通用属性267- Z! Q- D9 X9 \# P: M* v6 H  W! `
    8.2.1语言扩展到通用属性267
      r. Z  T$ c2 V9 K8.2.2C++11的通用属性268+ W. W) \* n- ^1 A2 ?; N
    8.2.3预定义的通用属性270
    ) Y' o) _5 c( j+ q8.3Unicode支持2749 [- i0 o+ g0 z
    8.3.1字符集、编码和Unicode274  n7 X, x4 d5 A, p' D
    8.3.2C++11中的Unicode支持276
    # a/ |$ V) `, Q( C4 g, s8.3.3关于Unicode的库支持280, Q# U! Y" O) h8 L8 \3 u# j
    8.4原生字符串字面量284) P# J3 Z6 B( g: f5 z
    8.5本章小结286, ^- J5 s% \8 Q, p! J/ p- N
    附录AC++11对其他标准的不兼容项目2871 g6 c9 c8 z: @; h1 ]
    附录B弃用的特性294: e8 b! `8 z% f: K( v! _( T0 z
    附录C编译器支持301. g' a# o! p/ N0 T& v- r2 K! f
    附录D相关资源304' V5 E5 a( o* W

    ) l2 @8 x: c9 `2 ?, z" }( O
    4 D, K5 I4 h7 u1 B: x  U. _封面
    # C$ d; ^6 q: i. K' z3 H  x 1.jpg
    4 r- ^! n: M1 H. j+ ^4 S9 l9 J6 h/ N% X8 S- A% y3 s- m) b
    截图% S! _8 F- k' G! S9 x  F4 F# w
    2.jpg
    9 P* G+ @* P  X' @; K
    游客,如果您要查看本帖隐藏内容请回复
    ( l4 t" i6 R0 D2 [2 d- X7 z3 N. A

    , K2 r" W2 c; i
    4 b$ l; Q+ s+ F8 m5 A* }1 E
    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-6-3 14:36 , Processed in 0.536940 second(s), 109 queries .

    回顶部