QQ登录

只需要一步,快速开始

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

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

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

377

主题

148

听众

5980

积分

升级  19.6%

  • 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 编辑
    / C5 @/ b9 B  O# x5 m# M  {3 O. G0 _( m) w
    内容简介
    * B$ s0 u6 ~( {7 C. n7 c深入理解C++11:C++11新特性解析与应用》内容简介:国内首本全面深入解读C++11新标准的专著,由C++标准委员会代表和IBM XL编译器中国开发团队共同撰写。不仅详细阐述了C++11标准的设计原则,而且系统地讲解了C++11新标准中的所有新语言特性、新标准库特性、对原有特性的改进,以及如何应用所有这些新特性。0 g6 O, W" {* |4 E, Z3 R+ ]
    深入理解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的相关资源。
    + J: u" p! F' G9 R1 L3 C6 r" k( I
    编辑推荐
    3 O. Y& v! O% j; L- L, E& A深入理解C++11:C++11新特性解析与应用》编辑推荐:C++标准委员会成员和IBM XL编译器中国开发团队共同撰写,权威性毋庸置疑。系统、深入、详尽地讲解了C++11新标准中的新语言特性、新标准库特性、对原有特性的改进,以及所有这些新特性的应用。
    ( q2 m7 _) J+ y, T8 ^8 P' m& w4 U& x. R* v& I$ k' E
    作者简介6 V" r4 p6 O: Y- n
    作者:(加拿大)Michael Wong IBM XL编译器中国开发团队
    ( @$ S2 P5 L/ K8 v; f3 x: N  P0 Y  Y1 ^2 G) `6 b
    Michael Wong,C++11标准委员会(WG21)委员,WG21加拿大代表团团长及IBM公司代表(投票人),WG21 SG5(transactional Memory study group)学习小组组长。除此之外,Michael还是OpenMP委员会的CEO,SCC(Standards Council of Canada)的副主席。8 C' x! H7 o3 m7 |* ?# Q/ E
    Michael是多个C++11/OpenMP/STM新特性的合作编写者,活跃于各种技术会议,而且为Programming Committee of Boost以及IWOMP等国际会议服务。Michael也是IBM公司的高级技术专家,领导IBM XL C++编译器、XL C编译器的开发工作,当前致力于IBM编译器的C++11新特性部署。Michael在并行编程、C++基准测试、对象模型、泛型编程、模板元编程等多个技术领域均有涉猎,并且在对象模型以及事务内存等方面取得过多个专利。8 t1 f( M6 @3 i1 v( g  s% K, W
    早年Michael于多伦多大学获取得了天体物理学的学士学位,并在滑铁卢大学获得了硕士学位。在加入IBM之前,Michael曾先后供职于大卫?邓禄普天文台(David Dunlap Observatory),CDC公司(Control Data Corporation),BMO Nesbitt Burns公司等。. d; \5 ~, r  o2 f* y7 @
    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新特性的开发工作。
    1 y4 q7 L5 f9 U% y, x7 H8 i) R/ y
    目录免责声明9 o9 {; \5 v$ @- w. b, Q4 K

    $ B) b0 Y: V! f$ q6 P: L2 g前言+ D& Y$ A7 r2 |8 _+ |, \: I
    第1章新标准的诞生1
    , K* T8 ~0 ^) A4 i; K1.1曙光:C++11标准的诞生1) X5 S8 H. H* m  R7 W% ?. P
    1.1.1C++11/C++0x(以及C11/C1x)——新标准诞生12 N& q# L2 x0 ?6 a. p
    1.1.2什么是C++11/C++0x2" [: B8 T6 _- S5 Z0 d( s/ o' M
    1.1.3新C++语言的设计目标3
    . U, g$ W- c! c% {# N1.2今时今日的C++5
    8 {: Q8 \7 u$ j1.2.1C++的江湖地位5
    ( Y2 u' f4 c1 x! V2 ?" ^/ @& m1.2.2C++11语言变化的领域5
    3 H9 l5 n( ~& W+ x% j" s  U1.3C++11特性的分类7; ~2 p- I$ g+ w6 y' R& o0 ^6 S
    1.4C++特性一览11
    ! m0 s& Y, O7 z' ?1.4.1稳定性与兼容性之间的抉择11
    ) A( x: Q3 T- u% s, [1.4.2更倾向于使用库而不是扩展语言来实现特性12& U. W9 [  @! g+ S) c7 W
    1.4.3更倾向于通用的而不是特殊的手段来实现特性13
      y( j: o9 Y+ B, q, C% n9 w# `2 i1.4.4专家新手一概支持13
    8 D2 v4 n8 q  I7 D/ P2 B1.4.5增强类型的安全性14' T& `+ _5 W$ I4 M( T5 }! f+ P. R9 A1 m
    1.4.6与硬件紧密合作14* [( n& {0 `8 A) w/ J7 Z. p$ J
    1.4.7开发能够改变人们思维方式的特性15; @6 V) m1 V' d4 y0 R, T: A
    1.4.8融入编程现实16% Q) _; V# S, u3 |$ ?% Z0 R
    1.5本书的约定17; i, o7 S/ p0 [! p
    1.5.1关于一些术语的翻译17
    3 t  h- Y+ P# X% R1.5.2关于代码中的注释17+ D, u$ v: z. F5 r3 J/ i
    1.5.3关于本书中的代码示例与实验平台18
    9 J4 T% d4 H1 U& r+ B9 i( n第2章保证稳定性和兼容性19
    " j, t, a9 z% W8 f5 @& g3 _7 {/ u9 E2.1保持与C99兼容19. \! m8 a* h: i  U
    2.1.1预定义宏19
    % j0 o. r) i3 O0 A: ^( C2.1.2_func_预定义标识符20; A: N. {# @' Q9 j0 Z3 S$ g
    2.1.3_Pragma操作符22; {1 r' Q. r* b$ A; n- C- a8 B; {
    2.1.4变长参数的宏定义以及_VA_ARGS_22
    6 C2 R  a+ }/ b# }- d9 U5 Y2.1.5宽窄字符串的连接239 l9 D6 H9 |1 u7 ~4 V. c
    2.2longlong整型23
    2 E. a# X* {! Q( d2.3扩展的整型25
    4 s7 t) c0 I4 C3 _0 T: r2.4宏_cplusplus26, Q: ?2 M. L5 C  Y' Q! `
    2.5静态断言27
    . l% d4 [7 M& F* t7 t0 c' ^2.5.1断言:运行时与预处理时27
    3 y; o( p$ d6 X1 b- C1 [& {" c2.5.2静态断言与static_assert28
    7 ]1 T4 |4 C1 y! v$ X/ Z2.6noexcept修饰符与noexcept操作符32) o. C* z4 I+ j' O
    2.7快速初始化成员变量369 f5 k; T. F# O, l/ v4 k# B
    2.8非静态成员的sizeof396 O0 ~" m2 H, P& y' y
    2.9扩展的friend语法408 B) y0 s: Z1 |+ d% [3 x. O) N4 Q
    2.10final/override控制44, Y" t4 L. G2 ]9 O
    2.11模板函数的默认模板参数48
    + ?7 d+ k  T4 B8 ~1 `, a; c2.12外部模板50
    * U1 M* g0 T7 Z8 c+ m+ u2.12.1为什么需要外部模板501 Y. Q$ o$ e6 f* ?2 D& k
    2.12.2显式的实例化与外部模板的声明52
    $ @2 {. ~) @: B. U" P: m2.13局部和匿名类型作模板实参544 W' ?( F/ {* N/ @
    2.14本章小结558 v8 Q( B5 i3 T- x
    第3章通用为本,专用为末57
      I1 E! a# N- ~9 e4 `3.1继承构造函数57
    & Q) n; v& K+ a$ o; J; Z* l3.2委派构造函数62
    / u4 _9 q- @) D  ]( N2 O3.3右值引用:移动语义和完美转发68/ s) W1 {" i& `6 M9 A' Y6 O
    3.3.1指针成员与拷贝构造68* E6 `  `- ]# h- W$ V0 p" Z- d
    3.3.2移动语义69+ A. q- h) c6 v( K8 {# G0 }
    3.3.3左值、右值与右值引用75
    8 J6 W7 [& a9 J" c. v7 t3.3.4std:move:强制转化为右值80% l) I  ]( R# e$ K. w7 k
    3.3.5移动语义的一些其他问题82
    , u7 G+ U( o/ y8 I3.3.6完美转发85
    + }/ b& u6 n- C8 x- g3.4显式转换操作符89
    : \6 o( g- e4 W+ Z: W3.5列表初始化925 `: c! h8 v" n; ^% t
    3.5.1初始化列表92" h. R& P2 i: p" J) m; H/ t
    3.5.2防止类型收窄96
    0 f  t$ k* d0 a* m' ?0 e3.6POD类型98' ~  a, f' @" ]
    3.7非受限联合体106, o1 q3 D# j+ F9 j6 J- n. \; |
    3.8用户自定义字面量110/ N; I+ n; j  V0 v7 R" f% y
    3.9内联名字空间113
    & _0 k% T% {* D# p3.10模板的别名118
    * n( f6 C$ C7 k3.11一般化的SFINEA规则1193 [* a" g7 J  }9 E+ ^$ u
    3.12本章小结121
    $ Q" q( j. g5 r" j3 g1 g第4章新手易学,老兵易用123
    ) D& x/ B( j: ]: k4.1右尖括号>的改进123
    : y2 M) L5 H: P( F" d7 P/ T4.2auto类型推导124
    ) \/ t' q+ C3 }5 f4.2.1静态类型、动态类型与类型推导124; c7 P% S5 ~1 Z+ }5 f
    4.2.2auto的优势126
      F; g! u: E7 U: u& `+ B% l+ [* F4.2.3auto的使用细则1306 u5 w- I7 @6 T0 t6 w" m$ O
    4.3decltype134
    $ h# S5 a' L1 {! V4.3.1typeid与decltype134
    " n6 E9 d5 \) n  D  }" k3 s  X4.3.2decltype的应用136
    - v; I1 e! i3 f) |9 O4.3.3decltype推导四规则140+ S' d- X% S( @- ~* a
    4.3.4cv限制符的继承与冗余的符号1435 h/ `& t  M9 _" a+ `% n: W8 D
    4.4追踪返回类型145
    ( Q+ {0 p+ H1 ~  n6 u4.4.1追踪返回类型的引入145
    9 t0 g( @6 k) Y8 F1 s6 C) [4.4.2使用追踪返回类型的函数146
    6 g2 N) U+ ]8 _/ L1 I4.5基于范围的for循环150
    - t1 l& [5 W3 x0 @8 S$ n4.6本章小结153
    , H0 A2 {( C5 Z& F7 l第5章提高类型安全155- z% x3 V- u4 k+ N2 \( J) M) p
    5.1强类型枚举155
      a# t1 X* k7 O. y5.1.1枚举:分门别类与数值的名字155
    # @5 G8 U9 `$ J; @7 {5.1.2有缺陷的枚举类型156$ U1 F5 J; ^1 f
    5.1.3强类型枚举以及C++11对原有枚举类型的扩展1608 w5 l% ?+ y+ x' L5 I: ]( H
    5.2堆内存管理:智能指针与垃圾回收163
    ; ?9 _$ \" X1 W6 e& a" X7 J! D4 d5.2.1显式内存管理163! E* C+ k3 t7 J
    5.2.2C++11的智能指针164
    2 e, G6 x/ F7 T1 y  {5 m1 j2 O5.2.3垃圾回收的分类167+ D8 ^' R1 Q& c' Z9 {$ J
    5.2.4C++与垃圾回收169
    " M0 G! B" e( W8 m" X( t; E5.2.5C++11与最小垃圾回收支持170
    0 y5 _6 z- x8 l: H. u- r5.2.6垃圾回收的兼容性172( G% d  B7 O9 E# {/ b' z9 N
    5.3本章小结173
    ! l+ U& G7 }. q7 q; K& d7 e第6章提高性能及操作硬件的能力174" v: k1 i( b6 i, V) f% Z! f& L: r
    6.1常量表达式174' T0 _. I) h7 @, z, w' |
    6.1.1运行时常量性与编译时常量性174
    + u6 u0 S8 G9 [0 T# E0 @- ^' K6.1.2常量表达式函数176
    & H' `4 q7 A9 s! N) q" F7 `6.1.3常量表达式值178
    & W3 _+ _0 V' ~' f: K4 z9 H: l6.1.4常量表达式的其他应用180. J4 T- Y2 A- u7 P+ V0 |
    6.2变长模板183+ ~8 E; i6 ^! c" F3 L+ C
    6.2.1变长函数和变长的模板参数183
    4 C: B0 @8 o1 p$ s: q8 R" e6.2.2变长模板:模板参数包和函数参数包185
    8 X3 A. i2 f7 _! c' J- p: l7 r4 p6.2.3变长模板:进阶189
      ^* @" L6 ^5 R9 L" |& y+ O" _  s  d/ ^6.3原子类型与原子操作196
    . K  V$ C: k' }8 l4 q8 x6.3.1并行编程、多线程与C++111967 Z( P1 e. g* ]3 a  @
    6.3.2原子操作与C++11原子类型197/ z+ j, a# _. [4 x3 y
    6.3.3内存模型,顺序一致性与memory_order203
    * @8 }( Q' i: H" ~1 S6 N/ l/ Y6.4线程局部存储214
    " W# T4 S. ]  b7 j# i! y! l. w# P$ d6.5快速退出:quick_exit与at_quick_exit2165 h: V8 B% `+ x' \
    6.6本章小结219
    " r; k; S. x; w1 I& L第7章为改变思考方式而改变220. j) [" N) h) g/ N$ l
    7.1指针空值—nullptr220
      M$ n! p6 Q) c- x7.1.1指针空值:从0到NULL,再到nullptr220* [' L& S- P! _* V5 d
    7.1.2nullptr和nullptr_t223& U) W# \. R4 c5 V0 n( \& h
    7.1.3一些关于nullptr规则的讨论225
    " e* K# x5 b  r* k" }% G# I+ ]7.2默认函数的控制227
    # i2 _% H5 t# D$ k! B) J- W7.2.1类与默认函数227
    * F2 u3 V) |$ r& n" l8 Y7 c8 l4 W7.2.2“=default”与“=deleted”230( H; U( S9 L" }, T( u' G
    7.3lambda函数234
    * E) i# O# U6 F1 e  r6 Y% Q7.3.1lambda的一些历史234& B1 V! A: v3 T, U7 f
    7.3.2C++11中的lambda函数235
    * C" r1 X* D! c7.3.3lambda与仿函数238
    8 m9 ]3 w: |; `- k# u7.3.4lambda的基础使用240/ O5 o& f" V& v4 o
    7.3.5关于lambda的一些问题及有趣的实验243% N; N+ [) o, s/ p- s
    7.3.6lambda与STL247
    : u) \0 d& n. O9 s0 z7.3.7更多的一些关于lambda的讨论254
    5 K6 A2 a$ z4 o% y1 N/ j7.4本章小结256
      A( M+ ^6 e7 `2 H1 p' _/ v第8章融入实际应用258
    7 |4 K9 [  K( g8.1对齐支持258, k8 w' ]$ O0 \$ a
    8.1.1数据对齐258
    7 R% m' p- h# q. Q. j; h8.1.2C++11的alignof和alignas261
    7 K9 M6 V1 B3 n4 a7 m8.2通用属性2676 a, E+ a, w. y7 d
    8.2.1语言扩展到通用属性267
    4 T* C* H. s  B" C2 \8.2.2C++11的通用属性268
    7 L3 R. l: S) T; y, P  i' O( I8.2.3预定义的通用属性270
    1 T8 V- H/ c" a0 b8.3Unicode支持274/ x/ ~! h! p" C
    8.3.1字符集、编码和Unicode274
    7 A: M3 ^0 m5 Y$ d7 ]3 S: r8.3.2C++11中的Unicode支持2762 S0 M3 @5 B3 f. a* @4 z
    8.3.3关于Unicode的库支持280/ z+ _- n! o% f
    8.4原生字符串字面量2840 J" @9 P# y# Z, ], m; N% q: H
    8.5本章小结286
    1 a+ _- j. q6 {. ^* Q! \附录AC++11对其他标准的不兼容项目2870 l# f+ k* A& @$ X2 ^; }1 Q8 \
    附录B弃用的特性2947 ^6 ?, G& V7 @% y) z8 {- C+ h3 q% ^
    附录C编译器支持301
    & Z+ k" N2 G1 Z3 ^  b- V附录D相关资源304, X. C# K" i( a# a  ~9 X

    6 z$ M' v- O0 j2 T6 C' X, D# o$ N2 ~( S% C$ J, q/ i
    封面
    & l& g  w  V9 Z( g- E0 T1 T 1.jpg : _/ x, K3 l8 G. J
    ! e, M( c* N" O! ?/ I
    截图
    3 y* W/ m. N+ h! [( b' y  } 2.jpg   O3 D. r5 d- y' N$ g- D
    游客,如果您要查看本帖隐藏内容请回复
    % [5 c* c. X0 ~% B0 t3 _

    0 e" `- b" A' v7 \; h& Y  _9 ]9 n% v' X( V# K7 G
    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, 2026-4-16 14:04 , Processed in 0.455430 second(s), 110 queries .

    回顶部