QQ登录

只需要一步,快速开始

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

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

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

377

主题

148

听众

5959

积分

升级  19.18%

  • 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 编辑
    7 O/ C/ f; U4 V; n* f1 U/ V& a+ ^* s) l: {
    内容简介4 \& H5 ?$ F4 i( C' e
    深入理解C++11:C++11新特性解析与应用》内容简介:国内首本全面深入解读C++11新标准的专著,由C++标准委员会代表和IBM XL编译器中国开发团队共同撰写。不仅详细阐述了C++11标准的设计原则,而且系统地讲解了C++11新标准中的所有新语言特性、新标准库特性、对原有特性的改进,以及如何应用所有这些新特性。; B# |) l6 @- ^+ m2 O/ L
    深入理解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的相关资源。
    % s6 P& I5 H, ~* r$ _
    ; ^& u% p0 E: {% R! T2 ]编辑推荐
    & K) Z9 A; E& g1 z8 {/ R5 u深入理解C++11:C++11新特性解析与应用》编辑推荐:C++标准委员会成员和IBM XL编译器中国开发团队共同撰写,权威性毋庸置疑。系统、深入、详尽地讲解了C++11新标准中的新语言特性、新标准库特性、对原有特性的改进,以及所有这些新特性的应用。
    ) q5 C% X  V. z! X6 o0 \5 m
    % O  u* N" q& v' Q9 ~8 M( g作者简介
    9 q. L# ]7 W& V+ z0 S作者:(加拿大)Michael Wong IBM XL编译器中国开发团队9 k6 d, Q1 L+ d1 T

    " e% f- T- V4 n% Q  eMichael Wong,C++11标准委员会(WG21)委员,WG21加拿大代表团团长及IBM公司代表(投票人),WG21 SG5(transactional Memory study group)学习小组组长。除此之外,Michael还是OpenMP委员会的CEO,SCC(Standards Council of Canada)的副主席。
    ' ~0 Q8 V+ `% f0 G+ S/ a+ JMichael是多个C++11/OpenMP/STM新特性的合作编写者,活跃于各种技术会议,而且为Programming Committee of Boost以及IWOMP等国际会议服务。Michael也是IBM公司的高级技术专家,领导IBM XL C++编译器、XL C编译器的开发工作,当前致力于IBM编译器的C++11新特性部署。Michael在并行编程、C++基准测试、对象模型、泛型编程、模板元编程等多个技术领域均有涉猎,并且在对象模型以及事务内存等方面取得过多个专利。
    ) |$ K# m1 \. Q4 r早年Michael于多伦多大学获取得了天体物理学的学士学位,并在滑铁卢大学获得了硕士学位。在加入IBM之前,Michael曾先后供职于大卫?邓禄普天文台(David Dunlap Observatory),CDC公司(Control Data Corporation),BMO Nesbitt Burns公司等。
    ! A: S& [, r, i4 Y# d* OIBM 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新特性的开发工作。4 D8 ]$ X% H' T" S! {$ m

    # t3 L7 ~% m2 i目录免责声明+ A1 }, ?5 }# q- r$ |! v6 \2 d. q

    8 m7 i3 Z& T0 U$ N, b% _+ K/ p( g+ \前言
    % l* {! G4 O3 R8 ~2 Z/ M第1章新标准的诞生1+ m: C1 i# }7 B
    1.1曙光:C++11标准的诞生1
    ) Z6 `: v+ M1 t% N1.1.1C++11/C++0x(以及C11/C1x)——新标准诞生1( f6 |7 i# n3 P
    1.1.2什么是C++11/C++0x2, W8 t8 h3 _/ `6 x& k4 [
    1.1.3新C++语言的设计目标3; x5 ?8 b2 W1 X9 O1 P6 S
    1.2今时今日的C++5
    9 |# c' ?+ F2 Q3 I# |5 c1.2.1C++的江湖地位50 o) f3 p& X! ~5 i6 c3 p3 J; p
    1.2.2C++11语言变化的领域5% c# K' S/ i" S
    1.3C++11特性的分类70 _4 `+ j$ x: U8 Y* a9 }! F" ]. N
    1.4C++特性一览11
    4 F0 Q4 y. q+ ~% W" f1.4.1稳定性与兼容性之间的抉择11
    3 _2 {( Y; c$ H4 {3 Z1.4.2更倾向于使用库而不是扩展语言来实现特性12/ h# F) [9 ~' f5 |, a
    1.4.3更倾向于通用的而不是特殊的手段来实现特性133 |1 w) D3 K9 R  B0 b
    1.4.4专家新手一概支持13
    $ F9 z; |$ N4 S0 N1.4.5增强类型的安全性14
    $ }* F# X) V) T9 j( I+ D- V1.4.6与硬件紧密合作14
    ! M1 T' H% @& x# }  \1.4.7开发能够改变人们思维方式的特性15
    1 Q$ I* g+ i9 y  m2 V# R1 z1 t3 }1.4.8融入编程现实16: N' Y" h+ ]1 y6 k: f: T- W
    1.5本书的约定17* l2 ^, A- y+ L0 p% t1 d
    1.5.1关于一些术语的翻译179 w$ M' @2 K' K: g& B( \3 T
    1.5.2关于代码中的注释17* a  H0 G( t) n+ ?- w. \
    1.5.3关于本书中的代码示例与实验平台18
    . ^9 |: J# l1 F, _9 n+ O  T第2章保证稳定性和兼容性19! D+ d* U! [* I* d4 i2 q
    2.1保持与C99兼容19
    ( ~" [8 ^. l9 K2.1.1预定义宏19- @! S$ M' u2 O, B7 _
    2.1.2_func_预定义标识符20. t, @$ k6 A9 n4 ]' c6 d9 {; b7 R! _
    2.1.3_Pragma操作符22+ t* b: C/ y1 D; {
    2.1.4变长参数的宏定义以及_VA_ARGS_22
    4 _% G# c% u# O* ^& r! t( j" A5 J2.1.5宽窄字符串的连接23* J' A" j& g$ M+ A0 e
    2.2longlong整型23
    7 @$ p6 }1 g/ L, D2.3扩展的整型25
    : J& J. n8 f5 x  b) |2.4宏_cplusplus264 I) c0 \7 y. e8 b) Q7 E
    2.5静态断言27% x1 [7 A( q4 W! S. R6 ^
    2.5.1断言:运行时与预处理时27
    , P. i8 h. a  V' q1 O; t2.5.2静态断言与static_assert28
    ; B9 }6 m& Y7 [2 C2 i0 [9 ?$ v" H2.6noexcept修饰符与noexcept操作符32
    6 r. K) c" \  X* T8 |3 r2.7快速初始化成员变量362 S7 ]$ l0 y* m/ ]! b
    2.8非静态成员的sizeof39
      G. F, H# `2 b2.9扩展的friend语法40
    ' [5 P7 T- z3 D# j2.10final/override控制44
    ( h( q# s* ^* w# w- X( E# A2.11模板函数的默认模板参数48/ I( }; {$ C4 q
    2.12外部模板50
    3 d0 o+ j: V( A; d' |( E2.12.1为什么需要外部模板50/ t) ?5 S' q# D% e7 M# q
    2.12.2显式的实例化与外部模板的声明521 t% j" q/ o! ?
    2.13局部和匿名类型作模板实参54
    , V/ K4 r0 ?9 z% z" ?2.14本章小结55' D0 \+ A1 @  D4 N( s
    第3章通用为本,专用为末57$ U* }/ i) n1 T4 R1 T
    3.1继承构造函数57
    $ \( }6 v0 a8 O3.2委派构造函数62+ Q- W% L5 d3 W) L
    3.3右值引用:移动语义和完美转发68
    ' o+ v1 V) W$ F3.3.1指针成员与拷贝构造68
    " u, K+ v- E- T4 c6 X3 S3.3.2移动语义692 L6 H& F4 k# ?# ~: r, \8 S) s
    3.3.3左值、右值与右值引用755 l! k' b' N9 R3 @" w" h
    3.3.4std:move:强制转化为右值80
    " _$ N. L$ C7 [/ T/ a' c+ v. F( H9 s3.3.5移动语义的一些其他问题82  I2 M% {+ `' b4 g1 `! h) N
    3.3.6完美转发85
    ' H2 I. Y* x4 k$ x$ s3 E4 w4 C, C  K3.4显式转换操作符892 M8 @6 [6 v) R
    3.5列表初始化92
      u7 w* h0 ^/ y, k& w3.5.1初始化列表92+ T- g9 R# H4 q% O) s$ @  k
    3.5.2防止类型收窄96  ]% u' P" n' _& Y5 i  h
    3.6POD类型98
    % ]/ Z5 r: R- E' t! w3 q0 G  ^3 _3.7非受限联合体106. |" O0 f! Y! b. B4 H
    3.8用户自定义字面量110
    8 s( B4 X+ b0 S8 d3.9内联名字空间113
    3 o$ P, ?: S& }" q* e8 V3.10模板的别名1183 \2 F9 g% [" Z
    3.11一般化的SFINEA规则119
    ! e% p& ^6 o$ K. c0 _+ J: c$ z3.12本章小结121
    3 e4 Q$ k( u6 _8 x, I, [第4章新手易学,老兵易用123
    8 X, Y) k8 E% c4.1右尖括号>的改进123& H! G! q& [, A, ^9 a: d  V) i
    4.2auto类型推导124* R# p! ]% I  a4 E( y6 Z* F# Q$ I
    4.2.1静态类型、动态类型与类型推导124
    6 b+ c" X0 Q7 p/ g4.2.2auto的优势126
    # R' _3 B$ ^+ a% M1 G+ P4.2.3auto的使用细则1300 p1 j# w/ I0 d' }1 U
    4.3decltype134/ t* M7 a5 s, M6 j& W/ k; o) f  g) O/ A
    4.3.1typeid与decltype134, r4 Y, O5 |) x+ \0 l+ n, @
    4.3.2decltype的应用136
    % m2 S/ ^  H5 T% N' H/ w4.3.3decltype推导四规则140
    & C5 n# m5 ]/ w4.3.4cv限制符的继承与冗余的符号1439 M& ~4 `0 g4 m0 `8 s7 d3 B# L6 K1 n9 q8 M
    4.4追踪返回类型145
    . _8 u3 z% A: a8 C/ o4.4.1追踪返回类型的引入1455 E3 z9 m" a* K$ d  d! o
    4.4.2使用追踪返回类型的函数146
    " X: m1 F' G; G  X2 P4.5基于范围的for循环150
    & Z7 ?0 ?. c% \2 _- O8 P4.6本章小结153
    , W2 S  O) Z. |* n- Q* P9 n第5章提高类型安全155
      ?- k- t6 e, R. R: k5.1强类型枚举155
    5 Y' b  }4 t' E, X: j$ @) [: i5.1.1枚举:分门别类与数值的名字155- t) m6 _2 T; D. G5 f- I
    5.1.2有缺陷的枚举类型156( _9 F" V% u0 d! v% K0 r1 m3 J1 P
    5.1.3强类型枚举以及C++11对原有枚举类型的扩展160
    & E4 r  J) w) h: w# g- v5.2堆内存管理:智能指针与垃圾回收163
    7 p7 m, X% W) e% F8 i6 t! w0 M5.2.1显式内存管理1636 y8 u7 u+ ?) ~0 n7 X
    5.2.2C++11的智能指针164. w6 }0 Q* H$ a# c. `: L- D
    5.2.3垃圾回收的分类167% c) E0 e' D  g% d
    5.2.4C++与垃圾回收169
    8 H% P; ^- l, g) c+ g* X5.2.5C++11与最小垃圾回收支持170
    0 K$ q9 P' V" z5.2.6垃圾回收的兼容性172# Y5 i) l, N& A) O
    5.3本章小结173
    1 E; @& m% b6 Q( I$ h. r! ?8 O4 W第6章提高性能及操作硬件的能力174/ ~  e; `; j% O, p+ w+ R8 a
    6.1常量表达式174  y; @& p  E% t3 C4 q
    6.1.1运行时常量性与编译时常量性1741 O- i- E: z0 {0 e( b
    6.1.2常量表达式函数176
    & L# }2 w6 s) F: S6 M) u- c# k! R6.1.3常量表达式值178
    0 F+ e+ V7 H0 T2 u% ~6.1.4常量表达式的其他应用180( v) u# g$ O* U1 G" ~  o
    6.2变长模板1839 J9 y; [% s  \( Y9 |
    6.2.1变长函数和变长的模板参数183
      e* \2 k* Q$ }2 a0 K* J+ D- K6.2.2变长模板:模板参数包和函数参数包185
    9 E. y3 L) {6 g+ r3 H$ W6 U6.2.3变长模板:进阶1894 m. q) C* k+ x  N$ F$ i
    6.3原子类型与原子操作196
    7 p- ~9 ?" ^, X% q5 _# R+ Z6.3.1并行编程、多线程与C++11196
    ; d4 k$ u7 D* v7 Y0 o! T5 u- l8 r3 {6.3.2原子操作与C++11原子类型197
    1 Y- H6 J6 D, E6.3.3内存模型,顺序一致性与memory_order203
    - ^4 F5 f+ r2 T* J3 B3 E4 H6.4线程局部存储214' U' O6 ~1 o  m: S7 Z2 h( m
    6.5快速退出:quick_exit与at_quick_exit216% U6 B8 ^' ~: s7 ]1 M! x  N
    6.6本章小结219
    0 s8 |- T0 E$ T第7章为改变思考方式而改变220" A! c- f) T% G: C# m8 D
    7.1指针空值—nullptr220& x4 i$ p5 c" q' z& f0 L& |+ G
    7.1.1指针空值:从0到NULL,再到nullptr220
    4 N/ p1 e+ y  Q$ m+ M* X) K7.1.2nullptr和nullptr_t2235 l- [' e* f# e
    7.1.3一些关于nullptr规则的讨论225
    8 J7 p( _! \; E9 T# |7.2默认函数的控制227, I5 I  E4 Q+ S- f
    7.2.1类与默认函数227$ `$ v4 R& w: T' ]9 i
    7.2.2“=default”与“=deleted”230
    2 w% ], O/ C- w& b; A. b1 q: u7.3lambda函数234/ Z+ g6 L0 ?# Z$ u4 Q
    7.3.1lambda的一些历史2344 q$ I5 l* U& I4 ^3 {. t
    7.3.2C++11中的lambda函数235
    7 K$ w- ?8 d/ t; [$ `- x& n7.3.3lambda与仿函数238
    ( |% B$ `! K0 I: D. U# w7.3.4lambda的基础使用240
    & I8 o  w: Y$ M) c3 |+ }6 c; f7.3.5关于lambda的一些问题及有趣的实验243: |" a* Y. P5 r6 o) j% D
    7.3.6lambda与STL247+ d# |+ _/ O! H' L% O: E
    7.3.7更多的一些关于lambda的讨论254
    / i% \, T  ]1 `/ d/ s7.4本章小结256
    ) t. ^* R9 W9 j第8章融入实际应用258
    2 Y" S) o5 t( y! C  l# H$ B8.1对齐支持258  M* i, f6 V, Q! G% W6 s. |) w
    8.1.1数据对齐2589 {! @. j8 U6 {- |* ]6 k
    8.1.2C++11的alignof和alignas261
      x8 c: t+ ^& u& q( I8 g8.2通用属性267
    3 F( s# W2 F% p  T8.2.1语言扩展到通用属性267* @, S7 m* }$ f4 N1 F+ C( _
    8.2.2C++11的通用属性268& w* B  `1 f8 Z& {
    8.2.3预定义的通用属性270
    + B$ L, A' v5 u$ h' r8 X! _* x8.3Unicode支持274
    8 E7 B% N) x1 O0 g! [$ u8.3.1字符集、编码和Unicode274! F  N/ b. G+ I3 R
    8.3.2C++11中的Unicode支持276+ i2 d6 `8 I$ K+ }4 L
    8.3.3关于Unicode的库支持280
    " h7 N7 K+ S) g, o# c- r3 K. j4 I8.4原生字符串字面量284
    ; c7 }1 s: Z1 R( h# ^9 P: P8.5本章小结286
    ! h) o# ?. n8 P& d5 b5 C附录AC++11对其他标准的不兼容项目287
    - q+ S  q9 [1 L# d" l9 S" V附录B弃用的特性294; L; Q( v- u, |
    附录C编译器支持301
    . Z* H% U& B. m& H+ {# T附录D相关资源304$ Y; b1 f6 Y- A" ^4 s+ P) E
    1 }, g' V0 e+ A' ?# |+ a
    6 M/ W7 U7 H( N# J( p* o
    封面
    ( J% [: }2 |$ L+ W 1.jpg
    3 q) [- ^0 z1 `/ {; d5 w$ a9 m. Z; ?; m
    截图/ n2 C3 ^  D7 B# h2 z
    2.jpg
    # ]( I. p  e/ M' J& r0 A
    游客,如果您要查看本帖隐藏内容请回复

    # m  u  I4 R9 P  [0 P  u# m$ A: p2 m9 U8 w
    & W" y. h4 z  ~: ~/ n
    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, 2025-9-25 11:29 , Processed in 1.210509 second(s), 107 queries .

    回顶部