QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4831|回复: 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 编辑 * J+ X* c7 w7 Y* D( {
    " j- w9 v9 O0 L* D$ W" k
    内容简介2 E) K# l$ U# A( f1 u" K: J# x
    深入理解C++11:C++11新特性解析与应用》内容简介:国内首本全面深入解读C++11新标准的专著,由C++标准委员会代表和IBM XL编译器中国开发团队共同撰写。不仅详细阐述了C++11标准的设计原则,而且系统地讲解了C++11新标准中的所有新语言特性、新标准库特性、对原有特性的改进,以及如何应用所有这些新特性。* k) i1 v; |5 f8 W
    深入理解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: ?* ?7 U# E) U
    & J; F# s* J! t+ f! y% U* l1 q+ j4 ^编辑推荐  }1 y, G0 ]* W( H. t7 q
    深入理解C++11:C++11新特性解析与应用》编辑推荐:C++标准委员会成员和IBM XL编译器中国开发团队共同撰写,权威性毋庸置疑。系统、深入、详尽地讲解了C++11新标准中的新语言特性、新标准库特性、对原有特性的改进,以及所有这些新特性的应用。* B/ P% }. u, d" C7 a$ v
    & d+ s$ ]) ~$ Z* e* }: S* O8 D
    作者简介4 \6 f" \' ?' ^' M. g6 Y
    作者:(加拿大)Michael Wong IBM XL编译器中国开发团队
    5 n7 U% B, o# h% G# Q' o; v- P5 O9 _* h, x" Y  x8 b# O
    Michael Wong,C++11标准委员会(WG21)委员,WG21加拿大代表团团长及IBM公司代表(投票人),WG21 SG5(transactional Memory study group)学习小组组长。除此之外,Michael还是OpenMP委员会的CEO,SCC(Standards Council of Canada)的副主席。
    % z, A: |& v: s0 L2 h6 [! V6 GMichael是多个C++11/OpenMP/STM新特性的合作编写者,活跃于各种技术会议,而且为Programming Committee of Boost以及IWOMP等国际会议服务。Michael也是IBM公司的高级技术专家,领导IBM XL C++编译器、XL C编译器的开发工作,当前致力于IBM编译器的C++11新特性部署。Michael在并行编程、C++基准测试、对象模型、泛型编程、模板元编程等多个技术领域均有涉猎,并且在对象模型以及事务内存等方面取得过多个专利。; F( U2 l4 A$ t3 z& h) A* l
    早年Michael于多伦多大学获取得了天体物理学的学士学位,并在滑铁卢大学获得了硕士学位。在加入IBM之前,Michael曾先后供职于大卫?邓禄普天文台(David Dunlap Observatory),CDC公司(Control Data Corporation),BMO Nesbitt Burns公司等。- X: w: H( y0 _  X/ P" H
    IBM 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新特性的开发工作。5 z& T/ c* A) j5 a* E$ w

    $ z1 {5 M2 C7 L4 E目录免责声明
    3 |8 I) R# U' o1 ?( A+ Z: M9 l
    3 @1 _2 ~( G; j: F; Y前言& U: q) X4 w, e0 C8 w
    第1章新标准的诞生1
    - E- V7 d- Q0 [& w& d: t/ \& A& Z1.1曙光:C++11标准的诞生1: r/ @# q! R, `# a' [& w& T$ q' M
    1.1.1C++11/C++0x(以及C11/C1x)——新标准诞生1' S* |) Y. M( u: ^3 b
    1.1.2什么是C++11/C++0x2
    ) Z' p/ Y6 u; [( B1.1.3新C++语言的设计目标3
    , w' b5 H' I8 w/ P1.2今时今日的C++5
    ) C5 s1 Q( o5 \3 p! e7 H% T/ ^, R1.2.1C++的江湖地位5
    1 e# ]/ p( k- J& ?0 G1.2.2C++11语言变化的领域56 @  |5 Y" f' C3 f) @$ V- @
    1.3C++11特性的分类75 C: H0 R, P( ~: N* e6 G' @# e+ k: d
    1.4C++特性一览113 J/ [8 p/ l! q1 Y
    1.4.1稳定性与兼容性之间的抉择11
    4 j8 L: P. M/ O4 Y# T9 q) p1.4.2更倾向于使用库而不是扩展语言来实现特性12
    7 b4 a3 n+ S% ^( I8 ]$ o1.4.3更倾向于通用的而不是特殊的手段来实现特性13
    0 a/ \" F5 L5 w7 _9 e. O4 C9 B3 n3 f1.4.4专家新手一概支持13
    ( ^# O5 v1 H0 P, K6 m' U1.4.5增强类型的安全性14
    ( _, u5 v9 ]# [7 x( D, Z$ m: Y$ f1.4.6与硬件紧密合作141 a6 T- t* v2 m) V
    1.4.7开发能够改变人们思维方式的特性15
    - a) N8 F; o* ?& `7 {/ t( p1.4.8融入编程现实16
    2 E+ M' @$ |# u1 D3 y9 c1.5本书的约定17
    & O( N  X. x+ F& D1.5.1关于一些术语的翻译17
    ) ~5 v% q- ~- S  T' u# e6 N# V5 K' J1.5.2关于代码中的注释17
    * ^9 p: L3 N' ?1.5.3关于本书中的代码示例与实验平台18" u1 G: [! `! c  z, L: E+ f
    第2章保证稳定性和兼容性19! g  K8 d+ A! t2 Z' Y- X3 H
    2.1保持与C99兼容19
    7 Q" |3 @! n" N9 G, R& n' @7 D2.1.1预定义宏19
    ( n* d1 b) u/ `, J/ A. J2.1.2_func_预定义标识符209 U% ]4 g  ]* l9 I4 o6 ?: O" m
    2.1.3_Pragma操作符220 [& k- O/ _  ?) D( g" B
    2.1.4变长参数的宏定义以及_VA_ARGS_22; R# Q" c; i- y+ M  V; U* _& x
    2.1.5宽窄字符串的连接23- U' ]: q+ G& A% s- n/ C8 O
    2.2longlong整型23
    ' l, s# x1 v+ ]1 t6 |! M# S1 q2.3扩展的整型25
    " s' B& T/ c) o2.4宏_cplusplus265 t$ r( @2 b8 k  k
    2.5静态断言27
    ! F3 T& v* x# v. I. B: O2.5.1断言:运行时与预处理时27- h# W/ C6 ^% ?
    2.5.2静态断言与static_assert28
      p$ V' b9 I( x' @% \2.6noexcept修饰符与noexcept操作符327 a1 v0 x5 T# F! _; f
    2.7快速初始化成员变量36
    ; B/ q; _. E7 h' T+ L2.8非静态成员的sizeof39
    - p* H9 |+ A9 b- X2.9扩展的friend语法40
    / x/ E2 _. ]6 l3 p% X2.10final/override控制448 r: k- J8 |! a+ `: a
    2.11模板函数的默认模板参数48! p- u7 _- {1 d  _, P2 E
    2.12外部模板505 y0 |/ M5 }9 U* c
    2.12.1为什么需要外部模板50
    7 o% b+ h2 {4 ~8 ^' l2.12.2显式的实例化与外部模板的声明52( |4 F, }! u5 @9 y4 \
    2.13局部和匿名类型作模板实参541 T* J9 d  b& ?: w$ B
    2.14本章小结55
    ; v9 f' n' p. L% |0 i2 L第3章通用为本,专用为末574 N" A4 P$ {  M4 f5 y" ^: M' a
    3.1继承构造函数57
    - u7 b' K3 I1 _, ~3.2委派构造函数62
    5 S# o6 ]- J( t0 f! ?3.3右值引用:移动语义和完美转发68
    3 T0 T5 L% }7 M9 H& i3.3.1指针成员与拷贝构造680 P# {7 e- d0 H8 W( o
    3.3.2移动语义69% Z# G- Z, N& g' Q/ C
    3.3.3左值、右值与右值引用75
    9 ~/ J- _3 F3 ^3 J' y$ x3.3.4std:move:强制转化为右值80
    ( U$ o" B" V6 K% q. g1 \& W3.3.5移动语义的一些其他问题82$ _! D9 C; d* [0 H
    3.3.6完美转发85* P! z6 J- Y% o4 `2 k
    3.4显式转换操作符89
    2 B% T; |! a: v( u1 y8 p3.5列表初始化92
    + b7 q6 t6 E% [8 P5 I+ x3.5.1初始化列表92
    " G" u/ ?; m" H  m3.5.2防止类型收窄96* p2 S$ p$ C0 b" k7 ?& r
    3.6POD类型989 R2 Q$ k3 K) L: Z0 x8 I
    3.7非受限联合体106) F( y6 n9 q  ^
    3.8用户自定义字面量110
    . r5 ]5 S/ `$ i/ f; ^1 R3.9内联名字空间113
    - K/ n2 W- C$ o% ?. U3.10模板的别名118* J8 t8 w  u8 `3 M. v
    3.11一般化的SFINEA规则119
    0 ?5 j. O$ j6 e* |, [  J% ~3.12本章小结121: h5 H0 v) o: T2 C1 H9 E
    第4章新手易学,老兵易用1232 F% M4 R1 u+ s3 d4 h
    4.1右尖括号>的改进123/ C/ e! a8 n- l9 b9 o  r
    4.2auto类型推导124
    & y$ r4 Z1 f; c4 R4.2.1静态类型、动态类型与类型推导124
    8 K/ p, E) u" \0 P1 b* Z/ _; X4.2.2auto的优势126/ w" X' Q9 e& e9 d7 U- K; {
    4.2.3auto的使用细则1309 b5 G( B( a+ _
    4.3decltype134. }5 K3 _" x1 E: u& }" W. B
    4.3.1typeid与decltype134
    5 Q7 r) {" h$ \4 ^  K3 i4.3.2decltype的应用136, `; e5 q$ s1 A2 U7 h- C: x
    4.3.3decltype推导四规则140
    & x. r" z# d* w  X) W9 t) Y) {4.3.4cv限制符的继承与冗余的符号143
    + Q5 @; g, m! o8 k4.4追踪返回类型1458 E# t) I8 ~) g" \7 e
    4.4.1追踪返回类型的引入145
    * Q5 o7 q. N& @: g. D* s7 P' o4.4.2使用追踪返回类型的函数146
    ; r( M) E8 |# l; ~4 ?2 V4.5基于范围的for循环150
    % H3 ]! Y' a" }4 {4.6本章小结153
    ' S3 v* \7 ]3 d1 t第5章提高类型安全155! _  Y( H- G# F  C+ ]1 _
    5.1强类型枚举155; v) e3 I6 q# a. ~& m
    5.1.1枚举:分门别类与数值的名字155
    ( N' O0 }& y# A/ o5.1.2有缺陷的枚举类型156* C: I9 O$ Q& A6 R6 M
    5.1.3强类型枚举以及C++11对原有枚举类型的扩展160
    * o  k$ Y5 N" Q) O' r# O# H; f$ m* k5.2堆内存管理:智能指针与垃圾回收163
    1 g, U* r& d3 A1 n5.2.1显式内存管理163. G% W* M/ s6 F. s
    5.2.2C++11的智能指针164
    2 E- }. C  X/ z, ^+ I5.2.3垃圾回收的分类167: H9 M; l# S- ?0 |0 S8 `
    5.2.4C++与垃圾回收169
    6 V+ g2 Q% o. T  g' U1 b' ?  R5.2.5C++11与最小垃圾回收支持170/ L2 f7 B* X8 k$ A- N3 D- M
    5.2.6垃圾回收的兼容性172$ B; Y- L' x( i9 V( T9 f
    5.3本章小结173
    0 Z% Z. I& e$ ^( P1 ^第6章提高性能及操作硬件的能力174
    " O) _4 ?( R# [: R) T  g- i! @3 d6.1常量表达式174( Y0 i6 `/ H- f5 W4 p8 P
    6.1.1运行时常量性与编译时常量性174; k0 w7 k2 s: d+ j9 \- F0 n. q7 V
    6.1.2常量表达式函数1766 c4 a6 l& F- i6 q3 _& F& i
    6.1.3常量表达式值178
    # W3 v: k7 L9 K+ e$ b9 k+ K! Z6.1.4常量表达式的其他应用180# v& _& }' `9 e" [+ n6 r
    6.2变长模板183
    9 l" N" H" K& _, P" \- S% h3 u; \6.2.1变长函数和变长的模板参数183
    5 D2 x' _# U9 d; N" S5 Z5 F  K6.2.2变长模板:模板参数包和函数参数包185
    5 Z( N! L% c% N. T! I! y6.2.3变长模板:进阶189/ @- E& F9 G9 @7 x2 W' K
    6.3原子类型与原子操作196
    + O- r! c& r' H% D6.3.1并行编程、多线程与C++11196
    " J2 e( e& d/ ~) M0 z7 p: u( l: d6.3.2原子操作与C++11原子类型1977 q4 Z! V4 r# @8 R# D/ Y
    6.3.3内存模型,顺序一致性与memory_order203
    # V5 n; z: v% u- n- B5 z6.4线程局部存储214' i, ?: L8 R3 d5 O' y, j
    6.5快速退出:quick_exit与at_quick_exit216
    ) K7 {2 K0 b0 k, q( x6.6本章小结219
    * L, h  F5 h; q! }) ]/ e: m第7章为改变思考方式而改变220
    + {$ T9 u# ?  i0 s4 T7.1指针空值—nullptr220
    : L: ?- A+ t' z% V7.1.1指针空值:从0到NULL,再到nullptr220
    + t! n/ k- K6 S3 ^- T  e7.1.2nullptr和nullptr_t223
    ; e) Z( K4 Y1 B. f! C2 m! e7.1.3一些关于nullptr规则的讨论2256 w. T8 `0 `" t- T. h3 R
    7.2默认函数的控制2274 O" a7 g( P  f5 j* t8 l2 X& x
    7.2.1类与默认函数227
    6 ^% M9 o* O2 ]9 [6 O. H6 w7.2.2“=default”与“=deleted”2303 e/ l+ a, A- o) u- O! `
    7.3lambda函数234- @- j1 @' P. T. ]- ~5 I
    7.3.1lambda的一些历史234
    4 n2 C% X" y8 h1 v7 d9 o+ v7.3.2C++11中的lambda函数235
    ! f0 B) Q' V) T* x2 ]7.3.3lambda与仿函数238  J2 {. m: |/ g. `1 X
    7.3.4lambda的基础使用240" J; x/ u# F+ H; g
    7.3.5关于lambda的一些问题及有趣的实验243. W3 z5 \- K& r' q, T
    7.3.6lambda与STL247( |) @5 ?  M3 B$ v- D) j
    7.3.7更多的一些关于lambda的讨论254
    , E8 M, Z3 r& X; m* V7.4本章小结2565 k6 T  Z5 i( s  G# g% U
    第8章融入实际应用258
    2 y" z) C# O% V, C' e; f% k& c1 W8.1对齐支持258; F3 k- Z5 }! N
    8.1.1数据对齐258( l6 e% t% S) ~" V1 ^* m
    8.1.2C++11的alignof和alignas261& m7 @0 [8 e; x) n! s
    8.2通用属性267/ b6 C% t; R! b& x* B( Z
    8.2.1语言扩展到通用属性267( U4 M. |7 M" l0 Q
    8.2.2C++11的通用属性268
    : l% ]+ Z2 j3 V7 a8.2.3预定义的通用属性270
    ! H4 o9 o% K( Z7 o' P. Y8.3Unicode支持274
    ( A& _* k3 m1 V5 S8.3.1字符集、编码和Unicode274
    / I& i' i! _, f+ \8.3.2C++11中的Unicode支持2768 ~) u. G' Q1 A' C4 Q4 g% `2 ~  h
    8.3.3关于Unicode的库支持280$ t! a  M, o$ ~; b; |
    8.4原生字符串字面量284
    ; @/ i) f; T1 q  V8 G7 V8.5本章小结286
    & h, g" ?( Z4 M: f附录AC++11对其他标准的不兼容项目287
    1 H* z& T+ A" U. r( \) g+ M) X附录B弃用的特性294
    2 [: e: o% L, {) `0 p8 T附录C编译器支持301# t, }( a. O; i7 Z1 @; N
    附录D相关资源304/ f+ e2 d" P2 l2 k/ N) ?: M

    + c# ^, o  X6 z- }0 X. ~
    % F3 H% B, x1 y/ T" j1 r  i封面9 f7 l" j. ]9 ^3 `! A
    1.jpg ' _* w6 X0 h9 F, q

    5 B) g9 ?8 S( I5 t, f& V7 l& Z1 n3 }截图6 J3 r8 ]$ `9 t
    2.jpg
    3 _* z. d( Z  {' `
    游客,如果您要查看本帖隐藏内容请回复

    % `4 h( h3 E% S4 @8 B
    $ i; V/ U5 T# b# i0 Y: L, {. K% ^) _7 E
    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-12-1 01:00 , Processed in 0.914110 second(s), 108 queries .

    回顶部