QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5064|回复: 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 编辑
    2 s6 D. M/ U" A7 S! S. j9 g7 @' w( Y/ p% p. B6 A' t& W, F
    内容简介
    : ?2 A* r* b8 c6 H: g4 _1 W深入理解C++11:C++11新特性解析与应用》内容简介:国内首本全面深入解读C++11新标准的专著,由C++标准委员会代表和IBM XL编译器中国开发团队共同撰写。不仅详细阐述了C++11标准的设计原则,而且系统地讲解了C++11新标准中的所有新语言特性、新标准库特性、对原有特性的改进,以及如何应用所有这些新特性。
    * P' l8 F; n' T: f7 r& D+ \深入理解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的相关资源。' D- ?: u# P0 H
    . Z  T4 I, [5 L  l9 Z
    编辑推荐
    - x& f* ~0 ~0 `0 i深入理解C++11:C++11新特性解析与应用》编辑推荐:C++标准委员会成员和IBM XL编译器中国开发团队共同撰写,权威性毋庸置疑。系统、深入、详尽地讲解了C++11新标准中的新语言特性、新标准库特性、对原有特性的改进,以及所有这些新特性的应用。0 Y! b) H# X. d+ H* E9 v, b/ v9 k; e
    % D& m2 T# L4 Q4 _5 i4 m$ Q& J* F
    作者简介' R. T4 ^6 C2 @6 u# T
    作者:(加拿大)Michael Wong IBM XL编译器中国开发团队
    " q6 \  e) k! e; X8 p
    - U' v5 e, U* fMichael Wong,C++11标准委员会(WG21)委员,WG21加拿大代表团团长及IBM公司代表(投票人),WG21 SG5(transactional Memory study group)学习小组组长。除此之外,Michael还是OpenMP委员会的CEO,SCC(Standards Council of Canada)的副主席。
    ; b8 c5 j! E5 d% |+ E. E) {Michael是多个C++11/OpenMP/STM新特性的合作编写者,活跃于各种技术会议,而且为Programming Committee of Boost以及IWOMP等国际会议服务。Michael也是IBM公司的高级技术专家,领导IBM XL C++编译器、XL C编译器的开发工作,当前致力于IBM编译器的C++11新特性部署。Michael在并行编程、C++基准测试、对象模型、泛型编程、模板元编程等多个技术领域均有涉猎,并且在对象模型以及事务内存等方面取得过多个专利。
    ' {7 l7 b' d" A( X! K' E早年Michael于多伦多大学获取得了天体物理学的学士学位,并在滑铁卢大学获得了硕士学位。在加入IBM之前,Michael曾先后供职于大卫?邓禄普天文台(David Dunlap Observatory),CDC公司(Control Data Corporation),BMO Nesbitt Burns公司等。
    ; H" ]( K( s' k& h7 tIBM 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新特性的开发工作。% o5 w+ h& J6 I" l+ o. ~

    . D. B  `6 w1 t4 ?目录免责声明6 u( I+ \  g1 e$ ~7 ~% ^; e
    0 B  o" ?, g! c
    前言
    2 q9 J5 H  V! w$ h$ K# o, j* U6 A% b! g第1章新标准的诞生1
    ' M1 ]6 l+ d& o2 R- i8 m1.1曙光:C++11标准的诞生1
    0 V6 a3 x* H* p# O. N; q4 \1.1.1C++11/C++0x(以及C11/C1x)——新标准诞生1
    / [0 A1 @2 H% U; e' T# _1.1.2什么是C++11/C++0x2- @6 r, Q2 j) t
    1.1.3新C++语言的设计目标3
    " C4 X  i9 h& a- p6 i% k8 t9 I1.2今时今日的C++5
    ' e  k  n5 {4 f+ O" f1.2.1C++的江湖地位5
    ( r3 z" A, w" ^8 E8 M# t; E; O1.2.2C++11语言变化的领域5
    ( E4 R2 D8 s2 z& V6 |. o5 ?1.3C++11特性的分类7
    0 j4 }% i- T4 L, W% K' `- h! F1.4C++特性一览11! p9 x+ T8 ~) F  l" P$ p* R1 c1 o
    1.4.1稳定性与兼容性之间的抉择11
    $ |5 ?4 V! Z# Y1.4.2更倾向于使用库而不是扩展语言来实现特性12
    ' O7 n9 e3 l2 C  Z. j1.4.3更倾向于通用的而不是特殊的手段来实现特性13
    * F9 g% v! J* M1.4.4专家新手一概支持13
    , I* ^% I; a7 ?$ d! V  e# y7 T1.4.5增强类型的安全性145 x. ?8 G8 v, I2 }
    1.4.6与硬件紧密合作14
    , u; T. l" G' G* S  c1.4.7开发能够改变人们思维方式的特性15% k6 i/ o) k' Z: P5 d! F. B, y' K
    1.4.8融入编程现实16
    * p/ ?* S( C9 F( b$ a2 h/ b* ^1.5本书的约定17
    8 e0 H3 G$ W; J9 y( t1.5.1关于一些术语的翻译17
    . P6 q3 v( U3 q8 ~7 E1.5.2关于代码中的注释17
    " A- N* e+ f* Z( F) y# q0 H8 V1.5.3关于本书中的代码示例与实验平台188 n5 q& Y1 n9 C/ t
    第2章保证稳定性和兼容性19
    " I2 N" w" h; U: ]9 j0 e4 p2.1保持与C99兼容197 f& R- q! A8 F5 J
    2.1.1预定义宏19
    6 a- T! Z7 @% z1 r- v# {( [5 E2.1.2_func_预定义标识符20; y% k: A, g! |9 v
    2.1.3_Pragma操作符22
    8 _9 P& N. O  ]$ }( K- N2.1.4变长参数的宏定义以及_VA_ARGS_226 ]2 F; B, L& n
    2.1.5宽窄字符串的连接23
    - b/ g& W, K, O# k, M& w' i0 C2.2longlong整型23
    $ \- h4 L) w& Z2 Z* v% }- g2.3扩展的整型25: s7 ^: F; @8 J. M7 [8 G# ~1 ]
    2.4宏_cplusplus26, `+ r$ {0 f3 Y
    2.5静态断言27! B, Z! g, {6 _& W" }3 @# f8 D
    2.5.1断言:运行时与预处理时27! H" K1 \; }9 y/ U8 O$ a* d2 x
    2.5.2静态断言与static_assert280 O" Q2 h/ Z* ^
    2.6noexcept修饰符与noexcept操作符32
    / T* ^0 H1 B; b0 Y# |( _2.7快速初始化成员变量36
    9 E$ w9 o2 G9 K8 x2.8非静态成员的sizeof39
    ) D; n% r- E# J- U+ i' T2.9扩展的friend语法40: y5 v! }5 s# }
    2.10final/override控制44
    8 P5 N4 j" s! }6 _( G2.11模板函数的默认模板参数484 d5 i# m* p0 |7 Q7 p
    2.12外部模板50
    " X. R& w" i/ l2.12.1为什么需要外部模板50; h1 R- P5 i! ~9 q" r; J. M
    2.12.2显式的实例化与外部模板的声明52
    ; v9 [( b9 P( U& e3 }9 @; v! X# ^2.13局部和匿名类型作模板实参54
    ( _; p* P4 P+ J7 E2.14本章小结55
    ! ~" s. ~6 w3 P. x第3章通用为本,专用为末57
    ' F1 Q3 L; W* g6 J. {; E  `1 n+ e3.1继承构造函数57
    0 O) N4 x# b: E) M3.2委派构造函数62
    4 T- U% j5 x. I4 z3.3右值引用:移动语义和完美转发68. A, S" l( p$ z. A
    3.3.1指针成员与拷贝构造68
    ' M: y* R3 X! n! e$ c3.3.2移动语义69; `( q" T- q7 g; k4 h
    3.3.3左值、右值与右值引用75
    6 E4 q- A1 |% r4 A6 x6 q3.3.4std:move:强制转化为右值80+ J# K5 `( \" ~8 u) {! u7 A. ]* r
    3.3.5移动语义的一些其他问题82: p2 y1 \7 d& D2 X7 Z5 {& C+ q
    3.3.6完美转发853 P2 W( Q! a( J) g" i9 a
    3.4显式转换操作符89
    * T) t1 z# ?% k# A! h/ D+ B3.5列表初始化927 k6 E  V4 `8 f8 ^( [7 f
    3.5.1初始化列表92
    6 R- ]8 u8 Q! }7 M3.5.2防止类型收窄968 N# d# T% v  G7 a
    3.6POD类型989 d: ]5 p9 U* I% ]# B7 h; h
    3.7非受限联合体106
    " c& Y" E* e& ^: }) U3.8用户自定义字面量1108 @  l9 o- u8 F8 ~3 A
    3.9内联名字空间113
    ) x3 D% X, x; G7 Z3.10模板的别名118/ t1 Y. [2 s* Q* e: W! \/ o* r
    3.11一般化的SFINEA规则1198 ~- U8 Q6 U- ]7 k' v
    3.12本章小结121
    7 B8 I  J' ]( {6 Q: C$ F5 L3 U% Q第4章新手易学,老兵易用1234 q) e* w& |; J+ K( E6 t% `9 y* Z
    4.1右尖括号>的改进123# S  h' D7 T/ B
    4.2auto类型推导124/ X! r' p& [2 H# ]* j
    4.2.1静态类型、动态类型与类型推导124
      O) _. L* W# Q( U/ b4.2.2auto的优势126
    - o' X& y6 S  u3 J, e8 ]8 }/ l4.2.3auto的使用细则130! v7 H' J/ R( E9 D& P, R: {
    4.3decltype134
    : @; R  D/ N7 E9 T! n4.3.1typeid与decltype1347 W& j/ ]* Z1 F! P" N; g0 I* u/ ]3 n
    4.3.2decltype的应用136
    3 z" v8 z$ ?0 H7 M4.3.3decltype推导四规则140
    + U0 k5 |9 C! l* [) W" T5 O0 K4.3.4cv限制符的继承与冗余的符号143
    6 P2 y  t8 b2 {, v# G4.4追踪返回类型1450 N0 \: }( l; [* x3 x+ h- J# J$ @
    4.4.1追踪返回类型的引入145, p1 a! W- D1 d- X9 K; s" e/ ]
    4.4.2使用追踪返回类型的函数146
    3 a5 U5 ^1 g& E+ k, d6 |4.5基于范围的for循环150
    , J3 P1 G! Y1 B4 M% H3 j4.6本章小结1534 ?+ b+ a+ _8 J: ]# G& b
    第5章提高类型安全155
    # q7 u3 \3 l7 {/ ]3 Q& ]' u0 Q5.1强类型枚举155! j% b; X7 o9 F9 S! A6 O
    5.1.1枚举:分门别类与数值的名字155' g  O, |, Z5 `, o
    5.1.2有缺陷的枚举类型156
    3 J' W  e) u9 y5.1.3强类型枚举以及C++11对原有枚举类型的扩展1607 L, J' A, C+ @1 d' S8 L. l$ S% A
    5.2堆内存管理:智能指针与垃圾回收1634 ?- N' l# x5 q. {
    5.2.1显式内存管理163. m# y4 C* @& ^' ^' l: Y$ E
    5.2.2C++11的智能指针164
    $ v9 j, q/ @# r5 a# P# q5.2.3垃圾回收的分类167
    ( A# E, F: \7 G3 v8 I5.2.4C++与垃圾回收1695 r) F# T. U9 y4 B, W7 N) z
    5.2.5C++11与最小垃圾回收支持170
    0 o' I/ w+ a" f. f, o5.2.6垃圾回收的兼容性172
    1 i- A; b  @. c7 \7 f( |5.3本章小结173
    4 `8 a  U# d0 X第6章提高性能及操作硬件的能力174* w4 N0 e% h, O; F* z. O
    6.1常量表达式174
    * D7 a5 E5 A# y0 T6.1.1运行时常量性与编译时常量性1740 @. n% r5 i- q9 I, e/ t" x
    6.1.2常量表达式函数176
    9 n! c+ O1 ^5 L0 Z- x' e# b6.1.3常量表达式值178
    $ ~$ y% v( a& u: u. V. b( a3 U5 h8 _- Z6.1.4常量表达式的其他应用180
    8 Z& r7 ]5 D8 Z2 u# {" B6.2变长模板183
    . G% {7 A8 _/ o4 s0 ]% |6.2.1变长函数和变长的模板参数183" n1 _, S5 B1 f
    6.2.2变长模板:模板参数包和函数参数包185
    8 ?3 F4 y* h) g' N6.2.3变长模板:进阶189
    ) q1 L, Q- k6 _3 U8 `6.3原子类型与原子操作196
    1 @$ T& E7 s3 R) e: w+ W7 `5 W3 H6.3.1并行编程、多线程与C++11196
    ! T" r7 h: F# S! @; J& S/ I6.3.2原子操作与C++11原子类型197
    + Z8 N9 q- }, v2 ]5 R: M6.3.3内存模型,顺序一致性与memory_order2030 T/ L' r& k# |
    6.4线程局部存储214
    ( J/ Q( @  w: C3 c% l; Y6.5快速退出:quick_exit与at_quick_exit216
    , G( l. _+ I8 `! [) A. N* ?6.6本章小结219
    ) S8 @1 E- j6 M) z第7章为改变思考方式而改变220; q3 W+ T2 h+ t3 l1 P) t' ~& V
    7.1指针空值—nullptr2200 K/ P% ]7 r# M8 w9 h
    7.1.1指针空值:从0到NULL,再到nullptr220
    1 [" m) q9 G' }7.1.2nullptr和nullptr_t223
    ! a* F( I4 E3 _7.1.3一些关于nullptr规则的讨论225
    , o4 O  o; g# Q+ h* [) k7.2默认函数的控制227
    / W- J0 J8 B  u4 ]7.2.1类与默认函数227
    - ?# I% r. s- _, L5 I0 u7.2.2“=default”与“=deleted”230
    , C" n# A0 j; V  c7.3lambda函数234% k/ |0 |/ l. X6 u) e% {6 a
    7.3.1lambda的一些历史234
    3 f- b( G: j$ p7.3.2C++11中的lambda函数2359 q. O2 i& _: P  o
    7.3.3lambda与仿函数2388 v. F7 Y: h* \
    7.3.4lambda的基础使用240
    * c$ c% r) A# k' x  T6 Q7.3.5关于lambda的一些问题及有趣的实验243
    3 g" q  B( V5 d5 I: p- b7.3.6lambda与STL247- n- p. H+ {" J4 M7 Y3 b
    7.3.7更多的一些关于lambda的讨论2548 j( n+ ]! {/ S( o, L/ l0 v1 K
    7.4本章小结256  A& R2 \& I6 T. g1 E  k& A; r! J
    第8章融入实际应用2588 L( o6 n# m% e8 y3 D; h
    8.1对齐支持258
    5 T' U8 ?) ?6 H8.1.1数据对齐2583 T4 Z- c; ~  U
    8.1.2C++11的alignof和alignas261
    2 y  V, ~! y1 H. D/ X2 A8.2通用属性267* L1 F1 _% T1 W1 I/ Z+ r5 N- y8 _( {8 p
    8.2.1语言扩展到通用属性267
    7 {) A5 V5 u) O2 j  v8.2.2C++11的通用属性268
    ! d/ u: j. B& w8 |! d& f% }) m8.2.3预定义的通用属性2706 L9 l6 l; z9 ^! ?8 R" {3 ~$ ^5 Q
    8.3Unicode支持274
    % _: V1 B7 q( e9 S, b& E5 S8.3.1字符集、编码和Unicode274! `, v* e0 p6 J# i$ ]+ h, K
    8.3.2C++11中的Unicode支持2764 v  m3 p# B! {, s5 F, z
    8.3.3关于Unicode的库支持280
    ! w) N; i+ A& E7 T- ?7 y: W- ]8.4原生字符串字面量284
    " R- \6 d$ d3 W  I+ ?. M3 i8.5本章小结286( V+ ~8 M4 t' g7 O
    附录AC++11对其他标准的不兼容项目287
    ' n9 L: w& j7 \' C/ Z附录B弃用的特性294
    ) o0 S: |) R, ?( M+ m附录C编译器支持3013 |( `4 }% o4 _1 h" a
    附录D相关资源304! H6 Q. {3 I) C% k4 U) M$ ?
    0 ~0 F" }) U% S+ o

    3 e$ r. n  e; }/ x封面
    - V( y0 B5 e! l; D2 r! o+ f2 { 1.jpg & Q6 k% v. \" u9 Y: u# I

    ; _. m$ s2 H0 B$ q) P2 e1 z截图
    7 G# B# j1 o7 O' Z  |6 ~ 2.jpg
    ) V$ a6 y" G. U( W; p, I" d+ X
    游客,如果您要查看本帖隐藏内容请回复
    ' v5 m$ K+ d  }6 q/ L+ W8 G3 g

    " m1 h; s1 n4 j& b, @9 a% O2 a5 H2 o6 i0 k8 z4 k* [
    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:18 , Processed in 0.793334 second(s), 108 queries .

    回顶部