QQ登录

只需要一步,快速开始

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

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

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

377

主题

148

听众

6001

积分

升级  20.02%

  • 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 编辑
    8 h" y' h) ~' G$ G4 k% ^" z: }8 g" p# f) m1 ~
    内容简介
    " d5 Q! @$ x! \0 c/ X: S深入理解C++11:C++11新特性解析与应用》内容简介:国内首本全面深入解读C++11新标准的专著,由C++标准委员会代表和IBM XL编译器中国开发团队共同撰写。不仅详细阐述了C++11标准的设计原则,而且系统地讲解了C++11新标准中的所有新语言特性、新标准库特性、对原有特性的改进,以及如何应用所有这些新特性。, q% _: r5 Z' g1 @
    深入理解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 |) M) d1 I3 s+ T7 m: H: [  X, M
    - K. \% p1 c4 ?; F7 t编辑推荐( {4 I' }/ g. H7 M
    深入理解C++11:C++11新特性解析与应用》编辑推荐:C++标准委员会成员和IBM XL编译器中国开发团队共同撰写,权威性毋庸置疑。系统、深入、详尽地讲解了C++11新标准中的新语言特性、新标准库特性、对原有特性的改进,以及所有这些新特性的应用。+ m$ x4 z( B3 F" I! A8 [. \

    . R8 @  ?2 Q3 `% ]% U/ y作者简介/ Y" c. @- s; V, x' b
    作者:(加拿大)Michael Wong IBM XL编译器中国开发团队
    + L* T( C$ H1 l  E0 S( r, U
    8 O& U9 Z9 g/ e. l: lMichael Wong,C++11标准委员会(WG21)委员,WG21加拿大代表团团长及IBM公司代表(投票人),WG21 SG5(transactional Memory study group)学习小组组长。除此之外,Michael还是OpenMP委员会的CEO,SCC(Standards Council of Canada)的副主席。8 e$ v, G* W1 m" l1 C! h1 s
    Michael是多个C++11/OpenMP/STM新特性的合作编写者,活跃于各种技术会议,而且为Programming Committee of Boost以及IWOMP等国际会议服务。Michael也是IBM公司的高级技术专家,领导IBM XL C++编译器、XL C编译器的开发工作,当前致力于IBM编译器的C++11新特性部署。Michael在并行编程、C++基准测试、对象模型、泛型编程、模板元编程等多个技术领域均有涉猎,并且在对象模型以及事务内存等方面取得过多个专利。
    + I* |# {3 T" U早年Michael于多伦多大学获取得了天体物理学的学士学位,并在滑铁卢大学获得了硕士学位。在加入IBM之前,Michael曾先后供职于大卫?邓禄普天文台(David Dunlap Observatory),CDC公司(Control Data Corporation),BMO Nesbitt Burns公司等。
    / I; Y# J. [) lIBM 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新特性的开发工作。
    % N; l& I/ |+ d4 W! d3 c% A5 y3 V+ ]; b1 p: U8 u  ]- `) M
    目录免责声明! T( Q; I" d* h+ A# w. l+ d
    . `; ~* y/ W5 D2 m
    前言+ Q/ y3 J: Q4 C, `; E- F% c% l8 n4 L
    第1章新标准的诞生1: |4 z0 f- c. f3 [; x% j
    1.1曙光:C++11标准的诞生1
    $ V5 z, v  d& p. P" x1.1.1C++11/C++0x(以及C11/C1x)——新标准诞生1: N- G! I. ]" I: j* }' W( b
    1.1.2什么是C++11/C++0x27 h; V. z0 F, A6 D* D
    1.1.3新C++语言的设计目标3
    ) J& y- b; P0 \$ H* Y# W5 y3 a1.2今时今日的C++5
    / x- Q9 d$ L" ?& X- p  F1.2.1C++的江湖地位5: |2 p8 S5 K" G4 Q* |
    1.2.2C++11语言变化的领域5
    8 x4 O( Z! V' A( k4 {4 j* M. t1.3C++11特性的分类72 \% M9 q0 G/ r9 i: [0 [" w1 T
    1.4C++特性一览11/ p8 a* s/ U: S
    1.4.1稳定性与兼容性之间的抉择119 d! d' `5 e- O3 c3 {- N
    1.4.2更倾向于使用库而不是扩展语言来实现特性12* a$ {! D! v* N3 G1 \$ J/ g* O
    1.4.3更倾向于通用的而不是特殊的手段来实现特性131 l  B9 H6 g7 B- E
    1.4.4专家新手一概支持13
    ' v/ l/ T' w' t7 z8 G* N# |1.4.5增强类型的安全性14
    7 c' X3 r8 O# B7 l# X' Z3 A  @% [' I1.4.6与硬件紧密合作149 `3 ?! J0 W* Z" w& r; b. W$ L' ?1 \
    1.4.7开发能够改变人们思维方式的特性15( q+ ~: j4 M5 e2 Y
    1.4.8融入编程现实16
    ! c. V8 W* f* n+ I1.5本书的约定17
    & ^, |, p/ R* m: s, q1.5.1关于一些术语的翻译17
    ) _- Z/ W- P3 A$ V6 ?0 n, W4 p1.5.2关于代码中的注释171 P& z2 f; n3 p# T
    1.5.3关于本书中的代码示例与实验平台186 J! F. z# p8 L' o
    第2章保证稳定性和兼容性19
    2 B* h5 X6 L0 J2.1保持与C99兼容19
    ; F$ Y8 N; i$ D" O2.1.1预定义宏19* l" z7 \  m+ I! X
    2.1.2_func_预定义标识符20
    - K( f- I$ k) i) B3 N2.1.3_Pragma操作符22
    + L8 T" L: ~4 q# p/ M+ r4 x2.1.4变长参数的宏定义以及_VA_ARGS_22( N7 r: W# G+ ]; S) _; @5 ]; D
    2.1.5宽窄字符串的连接23% ]7 }+ P3 k* j5 B
    2.2longlong整型23& ]& ]. S$ ^& {
    2.3扩展的整型25* m1 u+ R+ V) C6 B) u
    2.4宏_cplusplus26
    : f8 Z. y" a+ I( Q( x2.5静态断言27
    . y/ v( F( s6 h2.5.1断言:运行时与预处理时27
    ( B3 E, e4 l. A( H+ G/ u2.5.2静态断言与static_assert28& S# T7 ?" [: y+ P( s0 p0 Q8 V
    2.6noexcept修饰符与noexcept操作符32' k5 [. R" L" w3 B/ r- o  X3 A7 n% T& I
    2.7快速初始化成员变量36
    * E6 Y2 V8 ^$ C5 j2.8非静态成员的sizeof39
    ! c/ R' u2 P# ?2 x3 Y0 D* b2.9扩展的friend语法40
    0 j" i+ X2 I3 [/ ^' _2.10final/override控制44
    ' _: x: @) M2 A: B  U4 i& q) N0 I2.11模板函数的默认模板参数48- y. \  F) l& F/ u5 h# o6 k
    2.12外部模板509 K- a2 O2 a- _0 v, W& q. C0 |
    2.12.1为什么需要外部模板504 a- [2 |& p# J! B" k$ {* ?
    2.12.2显式的实例化与外部模板的声明52; R; L+ M' @  ]! f
    2.13局部和匿名类型作模板实参54
    " b- }2 {  u, h: ]7 f" e! o! [1 \2.14本章小结55
    , k0 _: ]& B! T! X/ ]7 u/ s0 m第3章通用为本,专用为末57% e# @$ |  @* K
    3.1继承构造函数57  r8 X, {) t+ s3 s# T
    3.2委派构造函数62$ G% m4 Z% n: e* m- c" f7 C- Q
    3.3右值引用:移动语义和完美转发683 C" `, ]! X: X3 C8 S" [) j& G( G
    3.3.1指针成员与拷贝构造68
    ; u, m4 @" J4 a8 h. o7 f- J3.3.2移动语义69
    6 d6 j- p* y+ ?- `6 q3.3.3左值、右值与右值引用75( C1 [1 ^. |1 b2 X1 E) w. t
    3.3.4std:move:强制转化为右值80
    3 J8 q5 z* Z/ T5 M& Z% M3.3.5移动语义的一些其他问题823 E% ^5 i2 c, S( @6 M- K$ N
    3.3.6完美转发85$ R( M; F! |# K* f  x* e
    3.4显式转换操作符89  {/ p8 |# }1 A& t4 [  M
    3.5列表初始化92; `1 c/ t- T+ J. a
    3.5.1初始化列表92
    " b1 `* d6 @+ t) M3.5.2防止类型收窄96
    + b2 v5 Y# f7 g# Z; X  Z3.6POD类型98& E9 d0 I3 A2 n* t. S4 b
    3.7非受限联合体106
    # W! P' O* @: U' y( @9 r3.8用户自定义字面量110
    4 p7 E* G0 h- i+ d3.9内联名字空间113
    " g5 j8 P' F$ ?: U/ m/ l5 x% R5 j3.10模板的别名118) O* ~, G" m- L9 B9 w# g
    3.11一般化的SFINEA规则1199 p0 i4 S. t3 O$ x1 Y. c( b" p
    3.12本章小结121* z* g) y: v: x2 f; G* V
    第4章新手易学,老兵易用123
    $ @& Z/ B4 ]) K  \& g4.1右尖括号>的改进123; t' G: y0 B1 E! [0 D! A2 k- G
    4.2auto类型推导124% Q4 g- ^- ?/ ]9 Z* c$ [
    4.2.1静态类型、动态类型与类型推导124% f. \$ ?' M# W5 R, `% A
    4.2.2auto的优势126. D# d3 m3 f8 a; @; s) h, A6 g
    4.2.3auto的使用细则130
    5 G4 @4 _  ^% P5 G. w, O* E4.3decltype134, J) {( U2 ]" v% F8 a" K: t
    4.3.1typeid与decltype134' |, A* |* r! I; y! K5 |& z: D
    4.3.2decltype的应用136: _3 o6 `, y7 U
    4.3.3decltype推导四规则140
    : i) R# B; q$ d5 c4.3.4cv限制符的继承与冗余的符号143
    * o8 J# Z/ H& W4.4追踪返回类型1453 i0 k) B+ t0 _) y. V3 L
    4.4.1追踪返回类型的引入145
    . Z$ ^( X; ]* v' z2 s) a4 ?' j4 \7 Y( N' h4.4.2使用追踪返回类型的函数146- P! \" `4 y" ]) ^
    4.5基于范围的for循环150
    : ^9 n% C' G5 L0 w  E; H4.6本章小结153
    3 V, |: L7 z. ]4 H: `, a第5章提高类型安全155! h2 E0 m- S8 P. x3 ~
    5.1强类型枚举155) n  H- e# e4 @$ f$ G. u
    5.1.1枚举:分门别类与数值的名字155- T& v: t  b. O; U' _9 Z
    5.1.2有缺陷的枚举类型156/ a4 F% [6 S; b, U8 N
    5.1.3强类型枚举以及C++11对原有枚举类型的扩展160# e9 A4 y. \6 M
    5.2堆内存管理:智能指针与垃圾回收163( [5 C  h' n" E8 q* t* A
    5.2.1显式内存管理1634 a9 ~3 j& K: k9 z
    5.2.2C++11的智能指针164- e* y: r- ]" c) f
    5.2.3垃圾回收的分类167
    ) d% y- ]. Y  ^- n8 x. ?" K5.2.4C++与垃圾回收169
    0 E0 v8 j% F% L- i0 Q% r. p# R5.2.5C++11与最小垃圾回收支持170
      x2 e0 Q' c5 E5.2.6垃圾回收的兼容性172# ~6 j  i; ^) T: q5 B4 T
    5.3本章小结173; B5 C: V4 V  g( k+ i2 i
    第6章提高性能及操作硬件的能力174
    # e  P" H/ L9 P! P, g- N6.1常量表达式174
    6 g) U+ r0 W" H: b6.1.1运行时常量性与编译时常量性174: C8 Q, {5 V# C- ~, r
    6.1.2常量表达式函数176, t6 t) E, l6 c$ b. O, ?
    6.1.3常量表达式值1785 C( D- k  S, u; M
    6.1.4常量表达式的其他应用180$ ^4 ?1 o6 C7 @; a: i: `
    6.2变长模板183
    : m5 [/ m+ p/ e4 O5 o6.2.1变长函数和变长的模板参数183: ^! P$ ^7 p6 i+ ^! p
    6.2.2变长模板:模板参数包和函数参数包185
    , Q' y9 c# v' n( S6.2.3变长模板:进阶189! n  @$ m* t+ L' o
    6.3原子类型与原子操作196* k5 s! U$ a4 r+ \) H: s
    6.3.1并行编程、多线程与C++111965 P! P: J9 f' J5 x' H' C' n6 k. p% S
    6.3.2原子操作与C++11原子类型197& f; {4 b) X8 v& T
    6.3.3内存模型,顺序一致性与memory_order203! `! @# G! `7 }7 S3 o9 b& Q+ T
    6.4线程局部存储214* [# T8 K% r! d# T0 g
    6.5快速退出:quick_exit与at_quick_exit216; _5 h' [1 _4 r& H7 G1 O7 S
    6.6本章小结219
    / e$ f# o6 T  y: l第7章为改变思考方式而改变220
    5 q( W* _7 T  g  t$ ^7.1指针空值—nullptr220* _1 O  D1 O% L' o: M" Q
    7.1.1指针空值:从0到NULL,再到nullptr220
    & ?7 v1 D4 O  }9 q/ p1 X$ ~7.1.2nullptr和nullptr_t223
    2 c6 g+ w5 c" P7.1.3一些关于nullptr规则的讨论225% ]8 E+ Y. F5 A: G8 X# a1 n" `  E0 C
    7.2默认函数的控制2271 x, ?! g& e  W/ d' y, W, |
    7.2.1类与默认函数2276 o0 \2 q3 O6 r+ @) ~2 X
    7.2.2“=default”与“=deleted”230
    * C6 ?% K/ e5 r- ~8 |5 {7.3lambda函数2349 {+ Z+ w8 B/ K  _
    7.3.1lambda的一些历史234
    $ B0 ]. g) `' M( r9 N% E; {* F' S* {7.3.2C++11中的lambda函数235' C! w) Z9 H, u% g9 ]0 n1 S
    7.3.3lambda与仿函数238: X- Y7 a0 d3 F5 p: R
    7.3.4lambda的基础使用240/ K& B7 P/ m( S+ y
    7.3.5关于lambda的一些问题及有趣的实验243
    / Y1 \/ ~7 L0 G) Y# x6 b7.3.6lambda与STL2479 [; D; P) c% e: m0 _
    7.3.7更多的一些关于lambda的讨论254
    + r  n3 p& {9 ]/ S. L  b7.4本章小结256
    0 Y) Y$ U0 g$ I- U: q% N8 ^  z第8章融入实际应用2581 v5 c7 d% j; l% s% p: _% i" H
    8.1对齐支持258. s' S( r* e$ P2 R! z
    8.1.1数据对齐258
    4 k/ q4 g8 q2 ?8.1.2C++11的alignof和alignas261
    & M/ Z4 r: I, \, H) ^6 m8 R/ Z8.2通用属性267
    ' c* H+ H, \* F' W. k8.2.1语言扩展到通用属性267
    9 h9 M) {% k2 x6 e* Q1 r8.2.2C++11的通用属性2689 O8 d9 \$ p; h% r
    8.2.3预定义的通用属性270
    / y- Y1 h9 f  J1 R5 _8.3Unicode支持274
    + x. |( h- L! I: o8.3.1字符集、编码和Unicode274
    * t; o- M# B  ~" m8.3.2C++11中的Unicode支持276. ]: Y- Z/ `1 d; R
    8.3.3关于Unicode的库支持2808 [6 u3 s; q9 _9 ]$ X% y
    8.4原生字符串字面量284( `  d' Q. @% R1 ^8 r6 R) Z
    8.5本章小结286
    - E  d) @+ P5 L+ D7 E附录AC++11对其他标准的不兼容项目287
    ' @2 x, C" A3 P. q7 }附录B弃用的特性294. B5 x5 V/ X$ M& K1 m
    附录C编译器支持301
    6 `' t7 o/ E1 E! w# E. N附录D相关资源304
    & k5 G, A- h: o3 d2 W6 M. Q
    6 c6 f8 b* H' {" {" c. u4 y- B. I

    & i% S4 I3 I4 r. B: F封面: `6 Y& Q2 f/ x0 O2 F
    1.jpg
    ! _+ k5 N; \# D7 R; P# {6 b
    0 J9 x' Z6 B$ K- u' }5 |* X截图, W% N& k% p# m
    2.jpg 7 C, P8 b+ b2 V  w
    游客,如果您要查看本帖隐藏内容请回复
    ! y) Y0 J) v" n! y# ?' Z
    4 z, d9 w  n' F# R# t

    2 @" }' {' M/ \. x  j
    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-7-20 17:30 , Processed in 0.762170 second(s), 107 queries .

    回顶部