QQ登录

只需要一步,快速开始

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

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

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

377

主题

148

听众

6009

积分

升级  20.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 编辑 , z$ k7 G  J6 T7 j1 {2 h1 O" r' L
    # A+ a( P. U7 H7 z5 x: n
    内容简介1 M' `7 @6 ?0 M8 h
    深入理解C++11:C++11新特性解析与应用》内容简介:国内首本全面深入解读C++11新标准的专著,由C++标准委员会代表和IBM XL编译器中国开发团队共同撰写。不仅详细阐述了C++11标准的设计原则,而且系统地讲解了C++11新标准中的所有新语言特性、新标准库特性、对原有特性的改进,以及如何应用所有这些新特性。
    + [/ p0 Z" d( p' D' A深入理解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的相关资源。
    4 M, K5 W7 E! s- E
    . a" V8 ~' h: Q- @编辑推荐3 t& Z  ?: O' J+ w
    深入理解C++11:C++11新特性解析与应用》编辑推荐:C++标准委员会成员和IBM XL编译器中国开发团队共同撰写,权威性毋庸置疑。系统、深入、详尽地讲解了C++11新标准中的新语言特性、新标准库特性、对原有特性的改进,以及所有这些新特性的应用。, v: c1 p1 b3 A, `; _7 a

    % H9 q, R' j+ O9 `作者简介
    ; B$ w% y: t0 L0 K) f作者:(加拿大)Michael Wong IBM XL编译器中国开发团队
    % }* ~" `2 M, G5 }' c! r7 x" w+ @8 M4 d* N1 N) n
    Michael Wong,C++11标准委员会(WG21)委员,WG21加拿大代表团团长及IBM公司代表(投票人),WG21 SG5(transactional Memory study group)学习小组组长。除此之外,Michael还是OpenMP委员会的CEO,SCC(Standards Council of Canada)的副主席。
    4 m0 ^% a0 h* N, I! \" @" WMichael是多个C++11/OpenMP/STM新特性的合作编写者,活跃于各种技术会议,而且为Programming Committee of Boost以及IWOMP等国际会议服务。Michael也是IBM公司的高级技术专家,领导IBM XL C++编译器、XL C编译器的开发工作,当前致力于IBM编译器的C++11新特性部署。Michael在并行编程、C++基准测试、对象模型、泛型编程、模板元编程等多个技术领域均有涉猎,并且在对象模型以及事务内存等方面取得过多个专利。+ w0 [1 m! U* n+ i- n8 t9 k
    早年Michael于多伦多大学获取得了天体物理学的学士学位,并在滑铁卢大学获得了硕士学位。在加入IBM之前,Michael曾先后供职于大卫?邓禄普天文台(David Dunlap Observatory),CDC公司(Control Data Corporation),BMO Nesbitt Burns公司等。
    % `! g+ _) K4 p# VIBM 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新特性的开发工作。
    ( {9 j6 s8 u! |& C
    ( r7 X9 [% b9 u1 O( [3 x目录免责声明- m9 e2 \" x' ^5 u
    & x, m/ Z4 {& Q
    前言
    + I, C# a) c, G; m5 {1 M第1章新标准的诞生1
    # j- M5 M: e' v, V1.1曙光:C++11标准的诞生1  S, c$ s- c$ {: @
    1.1.1C++11/C++0x(以及C11/C1x)——新标准诞生1- ?1 F% C5 e% j. V
    1.1.2什么是C++11/C++0x2
    - Y- `: G' n3 V* V4 m% A1.1.3新C++语言的设计目标3  ~! W0 y; k! U% q# J4 o8 ~& b
    1.2今时今日的C++5
    ! \9 L4 w* p3 v: \% T( N/ L1.2.1C++的江湖地位5. B6 v# _9 F& Z, E3 c4 g" D" B
    1.2.2C++11语言变化的领域5* r2 I. T  Y5 G0 ~
    1.3C++11特性的分类7
    ; b7 w. N! P6 y# D# r( j1 @' d1.4C++特性一览11
    / }& z* i" q* A* }9 b. ?0 n" n. \1.4.1稳定性与兼容性之间的抉择11
    + C0 E8 }- r! V1 x$ K% s" V1.4.2更倾向于使用库而不是扩展语言来实现特性12
    3 E# N/ j" S, `, Q$ \  C( ]1.4.3更倾向于通用的而不是特殊的手段来实现特性13% ]2 W/ G$ o* v: a( Z& C2 |0 L
    1.4.4专家新手一概支持13. y( k/ }, e" A/ k5 M, [7 e
    1.4.5增强类型的安全性14! e! i3 b# J7 Y; L* A
    1.4.6与硬件紧密合作14
    " y' R4 X0 n$ U2 F1.4.7开发能够改变人们思维方式的特性15
    $ c7 d" z. q6 ]# H& r* s# j' A1.4.8融入编程现实16. f- B% |" ^7 G$ U% c* l
    1.5本书的约定17/ U2 D) e* g8 w6 G3 F+ `  h
    1.5.1关于一些术语的翻译177 V% L% g, [; E+ }
    1.5.2关于代码中的注释17
    7 ~- |2 B% J% ?( G* a- i! f* i6 R( i1.5.3关于本书中的代码示例与实验平台18
    $ C! T" W' V5 l) a& w. P6 j第2章保证稳定性和兼容性190 x/ b+ s; Y4 q) L$ b# D# [. Z
    2.1保持与C99兼容19$ C+ y% l% [- d! l4 U
    2.1.1预定义宏19
    + }1 |+ _& `% K6 U4 d  T' X2.1.2_func_预定义标识符204 }* H) H; t0 c  ?
    2.1.3_Pragma操作符225 V* w, a% g5 Y% f
    2.1.4变长参数的宏定义以及_VA_ARGS_22+ P  n/ M6 b2 l3 Q) H
    2.1.5宽窄字符串的连接236 B$ v- ?) Q* f( b
    2.2longlong整型23
    ) A* G* S' y8 L& g3 q2.3扩展的整型25% R, V- d- n" |8 l+ N3 B
    2.4宏_cplusplus26- Z8 _$ i+ t) K  S
    2.5静态断言27
    2 L1 y! ~0 i5 a* Z2.5.1断言:运行时与预处理时27
    9 P) Y1 n' C) B+ W: d# {2.5.2静态断言与static_assert28# C2 a1 s7 j' c! i1 s: D9 Y
    2.6noexcept修饰符与noexcept操作符32
    8 U3 a' i& k9 J. S( g5 Y. d; r2.7快速初始化成员变量36
    , X) l8 V' ^% R0 R: _/ P" ~  n3 @2.8非静态成员的sizeof393 _) ^6 L! ]7 Q6 N( S7 m' o
    2.9扩展的friend语法40
    ) x3 ]; X; h- n3 n2 Q2.10final/override控制44
    + I3 s' v, q/ g0 f3 h: P' {2.11模板函数的默认模板参数48
    ' S* S# T, l! K4 T/ ?% p6 x+ W- p2.12外部模板507 T* }! j7 ]# a7 `
    2.12.1为什么需要外部模板50
    3 K) p7 W4 T8 {' W3 x! T4 a" n. s+ _, z2.12.2显式的实例化与外部模板的声明52
    4 o0 o, c/ }  ?1 f2.13局部和匿名类型作模板实参54
    ( e# ]/ R! N0 |5 j, I- B7 W  g: u2.14本章小结55$ n; E0 k6 T/ k6 R
    第3章通用为本,专用为末576 f; {1 P( E3 x( s  m2 ]! a( E. K
    3.1继承构造函数577 y  ]: Q2 s/ n- D
    3.2委派构造函数62; t# o- |3 V: t( D) I
    3.3右值引用:移动语义和完美转发68
    - p! V+ E2 v, V3.3.1指针成员与拷贝构造68
    2 J. e  _1 Y4 i+ k# }/ o, X3.3.2移动语义69
    4 B) ^' J) p+ S! ~' \% z' Z. |! [3.3.3左值、右值与右值引用75
    9 [" v4 V. Q  ]+ s; v3.3.4std:move:强制转化为右值80
    $ p* V$ j; [  L7 a3 }$ `3.3.5移动语义的一些其他问题82
    * C- l8 _/ C2 [. m1 t  b! B) y3.3.6完美转发85
    7 }$ j2 ~, q! [3 x1 B3.4显式转换操作符89
    $ H  F% _7 ]+ @5 _3 I2 Z( `3.5列表初始化92
    0 t6 l. t4 |# H3 |# H: F3.5.1初始化列表929 s7 q. \  m# s( ~5 x
    3.5.2防止类型收窄96; u0 v( T: ], W: ]$ s" G
    3.6POD类型98
    0 ~+ ?) @1 G' @' E' C3.7非受限联合体106' f8 H( j9 _1 k" C( l
    3.8用户自定义字面量110! U9 v0 H! V2 C3 s$ c
    3.9内联名字空间1137 d5 u4 H5 I+ E4 N8 n
    3.10模板的别名118
    5 G6 w9 V7 h  p% H1 K; F! E0 P3.11一般化的SFINEA规则119
    8 j0 z& |, W* j3 e3.12本章小结121
    3 {, X0 J4 X' j; G! f+ X第4章新手易学,老兵易用123/ P; A- _4 y5 f, Q) m
    4.1右尖括号>的改进123  U6 ~  J/ I) |. s4 C, a
    4.2auto类型推导124, s& k9 V3 L/ u
    4.2.1静态类型、动态类型与类型推导124
    8 h) p% W2 S6 h0 Q% Y9 ^4.2.2auto的优势126& u; e7 y# ]5 O! u0 y9 n9 f
    4.2.3auto的使用细则130
    % {7 h' Y1 v, m" `4.3decltype1344 I. C# a. V3 E6 r. G+ Y' o
    4.3.1typeid与decltype134+ G5 b  C" R/ U
    4.3.2decltype的应用136* T" Q, |$ Q1 q
    4.3.3decltype推导四规则1408 Q5 K3 T6 B, Y
    4.3.4cv限制符的继承与冗余的符号143! f; M# n' p$ n% \
    4.4追踪返回类型145+ s- ~9 H% A; b  U9 d! Y
    4.4.1追踪返回类型的引入145: D% p" }8 F4 n0 i& ]5 o6 `
    4.4.2使用追踪返回类型的函数146
    7 X9 ]4 p( e7 R$ _5 d% Y/ S4.5基于范围的for循环150+ }  J- p" w: z8 F8 i/ @5 X3 {
    4.6本章小结153+ x: k. Y. Y2 c5 ^( {. G
    第5章提高类型安全155
    7 V+ W4 A0 p. \) t5.1强类型枚举1550 |9 T& Y) L3 l, c$ c  j! m
    5.1.1枚举:分门别类与数值的名字155* n' J, ?7 ?! ~+ w: K
    5.1.2有缺陷的枚举类型156
    7 `2 D2 R& C, v8 \3 {5.1.3强类型枚举以及C++11对原有枚举类型的扩展160! A' x  x0 B$ g7 T  G6 J
    5.2堆内存管理:智能指针与垃圾回收1632 o5 ^* x8 ?5 p* u& S$ H
    5.2.1显式内存管理163% t  c0 m& h& t0 K% P+ I9 P
    5.2.2C++11的智能指针164# r+ J0 L( k7 E. C9 S
    5.2.3垃圾回收的分类167
    6 U" @- j/ [5 Y5 k. x( T5.2.4C++与垃圾回收169( I& F! O: T9 s& H
    5.2.5C++11与最小垃圾回收支持170$ {4 s* D4 s" Q0 ?$ Q, X- ?: d9 C
    5.2.6垃圾回收的兼容性172
    , c# b( q' t5 ^/ w5 X$ a5.3本章小结173( }% Y: ^5 g8 x6 j$ S' V6 }. j5 W
    第6章提高性能及操作硬件的能力1749 T- h$ K9 R+ @6 q, k2 Q/ h8 ~
    6.1常量表达式174) `* A4 m. P+ q7 m$ a% U/ I, c
    6.1.1运行时常量性与编译时常量性1743 U1 Q" P: i; ^  b  p/ L7 f* a
    6.1.2常量表达式函数176: p5 B4 @: A$ J3 S' h9 p
    6.1.3常量表达式值178
    + S: A3 d1 t# ^# U  ^6.1.4常量表达式的其他应用180
    ) Q% b1 S: r* x7 _6.2变长模板183
    * z  Z8 n; g$ c, d6.2.1变长函数和变长的模板参数183. N0 D5 {+ g9 V9 g% ?1 b# x
    6.2.2变长模板:模板参数包和函数参数包185" y) d2 Q" e5 R7 s8 E, M
    6.2.3变长模板:进阶189
    % s( o" [. v. ~0 W5 g/ V- s- B9 U6 ^6.3原子类型与原子操作196
    8 M& [0 J, {/ Z) c% V6.3.1并行编程、多线程与C++11196; B# [! L' B) L4 I; ^
    6.3.2原子操作与C++11原子类型197( P7 y- u; R+ h! V5 h4 C- A* @
    6.3.3内存模型,顺序一致性与memory_order203, f- Q0 K* W% c+ z) {# x
    6.4线程局部存储214
    ) T, U9 ~' _. V) \  d) C% k" l6.5快速退出:quick_exit与at_quick_exit216
    3 \$ u* G; {4 p4 M) M6.6本章小结219
    8 h& ^- S; x1 N* K第7章为改变思考方式而改变220
    , E! T, z! O) N% Z* ]) x' v7.1指针空值—nullptr2200 Y# y3 X' X6 L3 v
    7.1.1指针空值:从0到NULL,再到nullptr220; N6 U0 V: g- B! V, t
    7.1.2nullptr和nullptr_t223
    * _4 f7 {% O* n. V& N3 u/ r4 w1 U! O7.1.3一些关于nullptr规则的讨论225; E  A* y0 i  y  ?
    7.2默认函数的控制227( x1 H2 H5 G& e2 o% V* T& M
    7.2.1类与默认函数227
    : L+ G2 i. x$ t3 \- Y7.2.2“=default”与“=deleted”230
    5 m! B' Q) H; f) X# Q( D0 h3 }' T4 o7.3lambda函数234: C5 [$ s  Z  {, d
    7.3.1lambda的一些历史234( Z% \, A" ~! @% b0 M' C( _
    7.3.2C++11中的lambda函数235- ]. S, j% T( I9 Z, _
    7.3.3lambda与仿函数238/ h1 N# S  ^$ ~+ c
    7.3.4lambda的基础使用240+ C! z+ _( E/ s5 K# _1 M8 l- `
    7.3.5关于lambda的一些问题及有趣的实验243; O  r% v% r+ P' V& o2 ?% W
    7.3.6lambda与STL247
    + n! q+ |; V/ }/ L. K  {% Y2 j7.3.7更多的一些关于lambda的讨论254
    3 |2 l- K* J6 Y, \+ w7.4本章小结256
    9 Q" d, h# O! N" Z+ r3 T第8章融入实际应用258) A. E: j2 F2 o7 h5 l2 a" R
    8.1对齐支持258& c9 k9 E9 f) i. @
    8.1.1数据对齐258
    - k, b5 [& b5 i8.1.2C++11的alignof和alignas261$ W4 L2 X3 y) ^; O7 E
    8.2通用属性267
    . J+ s6 g$ X2 p2 L# i5 G0 t: {  x8.2.1语言扩展到通用属性267: U# E. |7 N. c4 O$ K
    8.2.2C++11的通用属性268
    9 U* E4 Z7 H0 {8 {3 h8.2.3预定义的通用属性2706 p* k8 n( i. e9 }/ R" ]
    8.3Unicode支持274
    % w: h" B4 X4 U8 d6 v8.3.1字符集、编码和Unicode274" K7 ?# y# C  j
    8.3.2C++11中的Unicode支持276. I4 F7 v6 s2 j$ R' w
    8.3.3关于Unicode的库支持280' @  D" y% |% p0 W4 d+ x
    8.4原生字符串字面量284: U7 |: y# j9 Z& N  G" D; ?2 _
    8.5本章小结286
    / w  Q4 ?. w) z5 a4 \2 i$ l9 G7 q附录AC++11对其他标准的不兼容项目287
    & _- y+ Q; V2 |0 X6 {; E附录B弃用的特性294
    ; ], ?( j: }/ ~5 ~附录C编译器支持301
    4 W) r7 A' l8 A! w- u附录D相关资源304
    1 [1 R, v( J3 D* g" Y
    - A  I' Y* {9 P. f
    3 b+ P) b/ S5 x9 @, E
    封面
    ) `' P# L# \1 x  f2 @6 ^ 1.jpg
    + n+ ^. ^4 M# F- q7 D2 q8 I+ F& [( F: [! w$ b1 [% Z. y
    截图
    : t0 n4 S+ v  `6 R/ h 2.jpg % z- b" N; B; f1 I. X5 ?
    游客,如果您要查看本帖隐藏内容请回复
    $ f' k0 A9 R- o8 R! b1 m4 @
    : R2 q4 m( V, Y( j: r
    & P2 G8 d) i7 R; F4 T! a
    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-9-1 21:28 , Processed in 0.540916 second(s), 108 queries .

    回顶部