QQ登录

只需要一步,快速开始

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

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

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

377

主题

148

听众

5971

积分

升级  19.42%

  • 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 ^# o0 P, s0 |! G* P3 [
    8 o9 L: }$ @% {8 g
    内容简介
    % _. ]: I3 Y, s1 s( b深入理解C++11:C++11新特性解析与应用》内容简介:国内首本全面深入解读C++11新标准的专著,由C++标准委员会代表和IBM XL编译器中国开发团队共同撰写。不仅详细阐述了C++11标准的设计原则,而且系统地讲解了C++11新标准中的所有新语言特性、新标准库特性、对原有特性的改进,以及如何应用所有这些新特性。1 q6 [9 j, b# q
    深入理解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的相关资源。
    ; L, }0 ?/ x% {1 \6 X( D' F
    1 i: v. Y, w1 P0 W2 [; L编辑推荐
    9 g: a3 P1 N8 P7 s深入理解C++11:C++11新特性解析与应用》编辑推荐:C++标准委员会成员和IBM XL编译器中国开发团队共同撰写,权威性毋庸置疑。系统、深入、详尽地讲解了C++11新标准中的新语言特性、新标准库特性、对原有特性的改进,以及所有这些新特性的应用。7 v5 }+ y1 A; |& m# a2 g" D

    2 H5 s/ h. e; N, S作者简介1 |& W8 H4 y+ x" o! d( {1 U
    作者:(加拿大)Michael Wong IBM XL编译器中国开发团队
    ' g3 `4 a" u! l8 P$ V1 j- o8 g4 x6 w% m3 J
    Michael Wong,C++11标准委员会(WG21)委员,WG21加拿大代表团团长及IBM公司代表(投票人),WG21 SG5(transactional Memory study group)学习小组组长。除此之外,Michael还是OpenMP委员会的CEO,SCC(Standards Council of Canada)的副主席。8 p3 D8 ?! H' x, G" j' U6 }
    Michael是多个C++11/OpenMP/STM新特性的合作编写者,活跃于各种技术会议,而且为Programming Committee of Boost以及IWOMP等国际会议服务。Michael也是IBM公司的高级技术专家,领导IBM XL C++编译器、XL C编译器的开发工作,当前致力于IBM编译器的C++11新特性部署。Michael在并行编程、C++基准测试、对象模型、泛型编程、模板元编程等多个技术领域均有涉猎,并且在对象模型以及事务内存等方面取得过多个专利。0 J  t2 Z; D) [
    早年Michael于多伦多大学获取得了天体物理学的学士学位,并在滑铁卢大学获得了硕士学位。在加入IBM之前,Michael曾先后供职于大卫?邓禄普天文台(David Dunlap Observatory),CDC公司(Control Data Corporation),BMO Nesbitt Burns公司等。
    * Q' o( S- ?$ _3 RIBM 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新特性的开发工作。
    $ H+ }3 Q( s8 D7 L
    : {8 f6 q  _' e+ M  {* j目录免责声明/ _4 y. F+ |) x3 S: ~+ g# h; j

    # [) c; E: [1 V( \前言! {6 k9 K9 ~% B( M0 P0 x- `# U
    第1章新标准的诞生1  a% i& x, w  P1 ?2 l
    1.1曙光:C++11标准的诞生1' J, h" _' V8 |
    1.1.1C++11/C++0x(以及C11/C1x)——新标准诞生19 M- [" ~! P: q2 h5 @
    1.1.2什么是C++11/C++0x2
    + e% s' b; I3 V& U, l( m! H' x  K1.1.3新C++语言的设计目标3
    . S$ T. w, t; q$ L+ r1.2今时今日的C++5" N3 x: [. g+ o! A: B
    1.2.1C++的江湖地位5; h  ~4 P9 R+ H8 I. O( ~8 r5 E
    1.2.2C++11语言变化的领域50 ~4 P* t+ d+ m( z# E, P$ s
    1.3C++11特性的分类76 i6 w0 n  L5 d+ g3 y
    1.4C++特性一览11$ U2 H: Y& d5 {, t5 y& T$ J
    1.4.1稳定性与兼容性之间的抉择117 }: M: y* l4 M0 p3 t
    1.4.2更倾向于使用库而不是扩展语言来实现特性12
    , n7 _/ t" f# b2 z6 q* W, y3 S- m1.4.3更倾向于通用的而不是特殊的手段来实现特性134 m. m; A) `/ K1 x# i4 n
    1.4.4专家新手一概支持13
    % v6 i, P. o* X: \1.4.5增强类型的安全性14
      c4 Y* m% f' ]3 \  P! b' w2 A1 J' D1.4.6与硬件紧密合作14. X" `# F8 p- d1 I( R6 _8 ?
    1.4.7开发能够改变人们思维方式的特性15
    ) f% I2 \4 X# I! ~1 q% t1.4.8融入编程现实164 z9 }0 L- Z0 G7 J& O4 n
    1.5本书的约定17" L% f& [$ }2 q5 \6 i; g
    1.5.1关于一些术语的翻译173 |4 w, }6 O, ~/ d- V0 V" m6 Z
    1.5.2关于代码中的注释17/ g# K1 m- w6 j8 W6 M2 Z
    1.5.3关于本书中的代码示例与实验平台18
    7 w+ W7 Q* E' a% S+ W+ N0 q第2章保证稳定性和兼容性19
      @1 `/ V/ Y- d+ R" D6 ?/ e" G2.1保持与C99兼容19. Q# @- n$ R6 A% S3 {
    2.1.1预定义宏19
    : E# f: y5 ]9 g  A5 l' p0 e2.1.2_func_预定义标识符20
    5 j( k5 J& b: g. M1 s5 r5 x9 e  Q2.1.3_Pragma操作符226 I/ L. M' m- F2 K" K
    2.1.4变长参数的宏定义以及_VA_ARGS_22
    5 h+ u* m  P4 v0 N2 A: W2.1.5宽窄字符串的连接23
    # R$ @$ N. i' c8 S' T2.2longlong整型237 g4 l# O& \1 |- D$ @) u/ o
    2.3扩展的整型257 b/ g2 H1 m2 p) x2 y
    2.4宏_cplusplus26
    ( a7 y/ E/ G: b  c1 F5 C/ C2.5静态断言276 k% R& z7 A* _  u  z2 J
    2.5.1断言:运行时与预处理时27! `5 V0 _# X2 z6 f4 S0 Y; `
    2.5.2静态断言与static_assert28& L3 c$ W: ]  |( e) }
    2.6noexcept修饰符与noexcept操作符328 i# C/ N& n1 g1 M: S( N
    2.7快速初始化成员变量36
    % y7 W0 n! ~( j1 v2.8非静态成员的sizeof393 L/ {4 O9 K% b# i6 o& t1 o4 q3 u3 I
    2.9扩展的friend语法409 g8 \" h. |$ u5 c- Z
    2.10final/override控制44
    / j. A9 r3 C1 [1 W. j2 s/ P2.11模板函数的默认模板参数48
    4 N8 D8 s9 C: P! T8 f2.12外部模板506 h4 D( n) i* ?
    2.12.1为什么需要外部模板507 V0 W# R% b3 z3 ~7 F
    2.12.2显式的实例化与外部模板的声明525 {7 f# L' m. h/ {' g
    2.13局部和匿名类型作模板实参54  [5 r1 l  x7 G9 k) u
    2.14本章小结55
      N, K' L( _. D. k第3章通用为本,专用为末572 \! d+ M  h- }* m$ `0 ~
    3.1继承构造函数57* @5 z* e4 \2 z. f- L2 T+ w4 I
    3.2委派构造函数629 d4 J0 r$ N  c; X7 \
    3.3右值引用:移动语义和完美转发685 p0 K3 b" {. X- c) X9 Y
    3.3.1指针成员与拷贝构造687 k- u4 J0 d  n8 t$ d
    3.3.2移动语义69
    5 ^6 I2 o; ]% M. w. q" T7 ?3.3.3左值、右值与右值引用75, |; B' C" K, r
    3.3.4std:move:强制转化为右值80) R% \% ^& m3 ^
    3.3.5移动语义的一些其他问题82
    1 u- c+ ~' ?3 E# E/ S& G8 L3.3.6完美转发850 [( I% e$ K7 Y: l) q, A4 A
    3.4显式转换操作符89: s& o8 N/ ^  N
    3.5列表初始化92
    : }& R& o) l6 W/ M6 C3.5.1初始化列表92" ]1 F& L/ f8 [  y. }/ q# z
    3.5.2防止类型收窄963 {! m, E' L; M0 P3 N6 r( p
    3.6POD类型98
    0 j) T" w" S. s  r/ a1 F  n3.7非受限联合体106
    . y9 A& f; `& q+ O( G, ~+ w# \3.8用户自定义字面量110, s+ d# k. X+ q$ F6 l
    3.9内联名字空间113
    * @4 p8 l5 d, M. U' K3.10模板的别名118
    ( Z" {( A5 o" @; [5 |. e3.11一般化的SFINEA规则119
      n8 o; L9 Q% k3.12本章小结121
    8 G" }7 |9 s- E第4章新手易学,老兵易用123
    ! z. H/ [7 J% t4 h" w& j4.1右尖括号>的改进1237 x" [. c$ C( g& g: C+ l
    4.2auto类型推导124; {' ~" c9 c& h8 V- X: Y3 B
    4.2.1静态类型、动态类型与类型推导124
    ) ]$ C9 }7 N4 U9 U. k* }4.2.2auto的优势126& w! e; T: `2 w
    4.2.3auto的使用细则1300 v4 A( o8 y0 O, k
    4.3decltype134
    - E6 B3 A$ {: _4.3.1typeid与decltype134
    $ @, y$ G2 p' i! a! A: ?4.3.2decltype的应用136
    $ a; r0 K8 J2 R# s: J) a4.3.3decltype推导四规则140! q# j; s- @# \
    4.3.4cv限制符的继承与冗余的符号1433 {  q$ {4 ^" ?% Q' h; h
    4.4追踪返回类型1455 F# w! z& l# K: x$ `* t- j8 q- @' u+ I
    4.4.1追踪返回类型的引入145
    6 i: Z" |5 U6 D- Z3 t1 [4.4.2使用追踪返回类型的函数146
    # A0 q  z4 o2 P8 o9 q0 V; s2 p+ t4.5基于范围的for循环150
    9 r5 V) a, I# C1 v4.6本章小结153
    / W" R4 b/ M: f! e5 D# \- l; |第5章提高类型安全155- J( H/ I' k; A
    5.1强类型枚举155
    : A8 _/ ]& J/ {0 B. a5 ?) X6 v- {5.1.1枚举:分门别类与数值的名字155
    ; b1 c( p- R! {4 n- w5.1.2有缺陷的枚举类型156# o4 F4 Q4 N; ^0 H
    5.1.3强类型枚举以及C++11对原有枚举类型的扩展160/ c. _" ?$ H: `, _/ x6 ~' k8 q
    5.2堆内存管理:智能指针与垃圾回收163
    4 Z! G1 X' N6 J/ f( x5.2.1显式内存管理163
    5 S3 A" U! D& u1 [# t5.2.2C++11的智能指针164
    " v/ v0 C9 J5 g5.2.3垃圾回收的分类1676 V" z0 }5 s2 X( K! T( q
    5.2.4C++与垃圾回收169
      A; V7 V( l8 g- k6 {9 a5.2.5C++11与最小垃圾回收支持1707 T* @: v9 k: N
    5.2.6垃圾回收的兼容性172- w5 E4 M' v/ V1 @
    5.3本章小结173
    ( o$ f: a! ^  h第6章提高性能及操作硬件的能力174
    ! ~# p. n7 v. m( w" l6.1常量表达式174: n2 }% m1 c5 J
    6.1.1运行时常量性与编译时常量性174- I0 f: C5 [% |- n3 {: Q9 w
    6.1.2常量表达式函数176
    0 _9 k3 @+ H" l, T2 C. D8 r6.1.3常量表达式值178
    $ G6 ?2 U' C9 F: R$ l, b7 b* {4 D6.1.4常量表达式的其他应用180& }* e  n( U5 K: s7 |$ |
    6.2变长模板183
    % m0 p# @8 {% W0 u. |; X# N6.2.1变长函数和变长的模板参数183" S. s' Z& C( y( _+ r" @. T
    6.2.2变长模板:模板参数包和函数参数包185: P+ N4 f- J1 M' V% S1 ]. E" v
    6.2.3变长模板:进阶1891 B  u  }' a; Y  g9 e, s
    6.3原子类型与原子操作196: s" v4 z2 Q/ ~8 x( _
    6.3.1并行编程、多线程与C++11196/ z5 d+ B5 |9 c  g9 q
    6.3.2原子操作与C++11原子类型1970 A! Z! `$ M) a
    6.3.3内存模型,顺序一致性与memory_order203
    & s4 }+ `! @0 O: z& Y: |& ]6.4线程局部存储214
    ! d  x9 o6 r$ O3 O6.5快速退出:quick_exit与at_quick_exit216' |% b4 Q" ^0 o6 U
    6.6本章小结219
    0 R' Y+ [" F8 q. h! V* C第7章为改变思考方式而改变220
    0 M- ?  H8 j& W7.1指针空值—nullptr220
    ! a% j" T4 b$ a7.1.1指针空值:从0到NULL,再到nullptr220& e5 O5 l: k2 \* M; B! j6 q# x; Q
    7.1.2nullptr和nullptr_t223
    - r/ }1 H( R' z! S; L! c) b, c7.1.3一些关于nullptr规则的讨论2255 H. d2 f  W- z* y+ x" D
    7.2默认函数的控制227" Z5 A% \! B% S% A* F# x2 y
    7.2.1类与默认函数227% i! I2 z0 r! n9 b8 I
    7.2.2“=default”与“=deleted”230" O& Z( q" u! Y( {& L7 W- M  ]
    7.3lambda函数234, V1 H; l3 D3 ]
    7.3.1lambda的一些历史234
    * M- y* p0 p9 o6 \: N% a. x6 |9 H7.3.2C++11中的lambda函数235( M" N  c2 N1 f) W% G4 ]2 A
    7.3.3lambda与仿函数238
    9 a/ K7 W  `7 {) j7.3.4lambda的基础使用240" p4 c/ s6 j/ n" U
    7.3.5关于lambda的一些问题及有趣的实验243
    9 X! I$ e5 k( m! ^( o7.3.6lambda与STL247
    # B& N. s. Q% r. e5 j4 I7.3.7更多的一些关于lambda的讨论2548 a* G6 u& C% C5 x9 c* r
    7.4本章小结256( V9 ]" i  y$ J
    第8章融入实际应用258
    & ?+ K% a+ p- a4 ]8.1对齐支持258
      |( g3 [% k/ k2 V0 {6 x8.1.1数据对齐258
    ' d% \/ P9 G- s8.1.2C++11的alignof和alignas261+ @+ [- q$ U3 i3 `  C' Q. G% ?
    8.2通用属性2672 l- K) b: r% k  H+ y9 q
    8.2.1语言扩展到通用属性267- Q4 Z# f: q; b# ~
    8.2.2C++11的通用属性2681 O- b3 o+ @' Y; i$ F# E  F1 ^, o" f
    8.2.3预定义的通用属性270
    ( K' s  d1 l/ }4 e# \8.3Unicode支持274
    , a, S* c% e4 p4 |! d/ C3 q4 A8.3.1字符集、编码和Unicode274: t- E& ]7 {% w, t
    8.3.2C++11中的Unicode支持276# `$ }" t" M" S9 Q- g6 y
    8.3.3关于Unicode的库支持280
    & a4 t* T2 P8 e5 W/ h8.4原生字符串字面量284+ h* c1 @+ p8 D
    8.5本章小结2865 p- Q* i/ I8 Z8 \
    附录AC++11对其他标准的不兼容项目287
    0 Q9 m+ r+ d2 l3 i. Y. Q( X附录B弃用的特性2942 z8 O0 U7 N& E& f9 m! g  E* |4 o* F
    附录C编译器支持301% `: O( a4 v6 v) v9 X8 X; h/ I4 |
    附录D相关资源3042 \' K: T$ y; E' C

    8 v& r# i- b  D: t
    - a# t, c- x& W/ s' \2 P封面
    0 o9 `* l) K3 W 1.jpg
    2 b% M2 g: X. n: }% p- j' i1 B& v4 q/ X
    截图- B6 n7 W3 r$ f/ d% F8 J+ b1 Q
    2.jpg
    0 V( C- Q; c+ C8 K" B( n& K
    游客,如果您要查看本帖隐藏内容请回复

    6 T: v1 @% I6 H( L2 z' t  u8 N: V- T2 ?8 k7 r- U0 [' T9 l

    * w$ \3 O1 s7 U) {
    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, 2025-12-1 05:57 , Processed in 2.376527 second(s), 110 queries .

    回顶部