QQ登录

只需要一步,快速开始

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

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

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

377

主题

148

听众

6001

积分

升级  20.02%

  • 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 编辑 / v( A- m4 X  H* B+ ]2 U+ q7 j
    $ h( b" F- k$ `6 t; g
    内容简介. u( i8 b' Z: g% G; d8 D5 v
    深入理解C++11:C++11新特性解析与应用》内容简介:国内首本全面深入解读C++11新标准的专著,由C++标准委员会代表和IBM XL编译器中国开发团队共同撰写。不仅详细阐述了C++11标准的设计原则,而且系统地讲解了C++11新标准中的所有新语言特性、新标准库特性、对原有特性的改进,以及如何应用所有这些新特性。
    6 }  D/ r, [1 Z6 }; P1 O3 G6 Q' z: V深入理解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的相关资源。
    " h( M7 h# ]$ G& F
    / F7 u! T; P; K% L2 e7 `编辑推荐
    + {% \# B- p! \9 J4 P" k深入理解C++11:C++11新特性解析与应用》编辑推荐:C++标准委员会成员和IBM XL编译器中国开发团队共同撰写,权威性毋庸置疑。系统、深入、详尽地讲解了C++11新标准中的新语言特性、新标准库特性、对原有特性的改进,以及所有这些新特性的应用。
    . r1 t' @+ r2 X5 I9 V  v. F6 v) a: }. G
    作者简介6 n6 k: j$ T; ~
    作者:(加拿大)Michael Wong IBM XL编译器中国开发团队
    3 [7 {0 O4 @/ _6 y8 c) l6 O
    8 d' k. ~. I3 x8 C& t# aMichael Wong,C++11标准委员会(WG21)委员,WG21加拿大代表团团长及IBM公司代表(投票人),WG21 SG5(transactional Memory study group)学习小组组长。除此之外,Michael还是OpenMP委员会的CEO,SCC(Standards Council of Canada)的副主席。- P. J: K& I3 |* N7 P
    Michael是多个C++11/OpenMP/STM新特性的合作编写者,活跃于各种技术会议,而且为Programming Committee of Boost以及IWOMP等国际会议服务。Michael也是IBM公司的高级技术专家,领导IBM XL C++编译器、XL C编译器的开发工作,当前致力于IBM编译器的C++11新特性部署。Michael在并行编程、C++基准测试、对象模型、泛型编程、模板元编程等多个技术领域均有涉猎,并且在对象模型以及事务内存等方面取得过多个专利。+ K4 {7 \7 ^4 o0 i! l- B2 O2 E0 f
    早年Michael于多伦多大学获取得了天体物理学的学士学位,并在滑铁卢大学获得了硕士学位。在加入IBM之前,Michael曾先后供职于大卫?邓禄普天文台(David Dunlap Observatory),CDC公司(Control Data Corporation),BMO Nesbitt Burns公司等。
    3 x- |: W0 O8 {. V; KIBM 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新特性的开发工作。
    / n8 l+ v1 ~$ t+ Z
    # F' b  q  o3 p目录免责声明
    - J6 X( l6 G: q  V2 z4 H
    % |$ s# P6 O4 t! I: n5 s9 W前言$ B. D7 @6 E* q% v. P( H
    第1章新标准的诞生1
    & A" t) E8 B8 x& S6 N: ~* T, T1.1曙光:C++11标准的诞生1
    / `6 T" I( v- k, R1.1.1C++11/C++0x(以及C11/C1x)——新标准诞生1
    7 Z9 u/ D# [3 u) g$ e1 y1.1.2什么是C++11/C++0x2% w" w0 s3 n5 Z0 G
    1.1.3新C++语言的设计目标3
    1 W6 a. b# E- {7 s; T# y: b& M: t1.2今时今日的C++5& c7 k. X! X* V
    1.2.1C++的江湖地位55 J! N+ h. \. T# b# |6 d5 {. u: }
    1.2.2C++11语言变化的领域5- C) V: P/ B) o' c3 i/ L7 ~" P
    1.3C++11特性的分类7
    , L* N! j* L( j! b" d* v1 m; W1.4C++特性一览11" R% }5 Z5 ?( l' @5 q- p1 f
    1.4.1稳定性与兼容性之间的抉择11+ O0 \( y/ r# R7 H' V
    1.4.2更倾向于使用库而不是扩展语言来实现特性12
    - T6 x' E* ^  D3 x4 M1.4.3更倾向于通用的而不是特殊的手段来实现特性13
    5 ?8 T1 {1 X3 a! n. r! h+ B6 w0 w6 D+ I* H1.4.4专家新手一概支持13
    : ^$ w7 n, F6 `2 c! v" |1.4.5增强类型的安全性14
    ( ^9 s3 I; s& F, y) h3 j# r1.4.6与硬件紧密合作145 k* W" l2 V9 H6 D! j/ ]; i) P
    1.4.7开发能够改变人们思维方式的特性15
    & y8 p$ b4 V" h- I" ?1.4.8融入编程现实16
    3 N/ C6 |3 a  J# ~$ S" r1 L0 \1.5本书的约定176 l! }$ I/ v% v( m$ m/ q1 [
    1.5.1关于一些术语的翻译17
      r' ]$ Z$ l( w1.5.2关于代码中的注释17
      K: s/ P5 U% E0 [. s  V1.5.3关于本书中的代码示例与实验平台18
    7 h; ~" j- l5 k, A; v第2章保证稳定性和兼容性19
    0 N, W" I5 G0 m$ q& [6 W9 C2.1保持与C99兼容19
    ( q2 v# p4 A# ~, y- \2.1.1预定义宏193 J0 K4 }8 q& x1 n: W% u1 s; Z% N
    2.1.2_func_预定义标识符204 C- G. u3 J) M/ y* _, h
    2.1.3_Pragma操作符22& X! Z- D: u& q  t# S
    2.1.4变长参数的宏定义以及_VA_ARGS_22. v4 M: o' r  s
    2.1.5宽窄字符串的连接23
    + P* g( e0 P* ^9 k% X" V# ?2.2longlong整型23
    * Q2 R% r5 [& v* D: `: {; u$ F/ m2.3扩展的整型25/ q7 m" u) Q4 q
    2.4宏_cplusplus26/ k4 ]$ ]+ b5 P2 _
    2.5静态断言276 s) d2 P- b" Q9 E) Q9 T
    2.5.1断言:运行时与预处理时27
    0 i* o4 a. n0 I( S. o9 h2.5.2静态断言与static_assert284 z6 p. @4 z: ~) t+ _; y4 u& [' y
    2.6noexcept修饰符与noexcept操作符32
    6 p- k8 _% d( \/ K6 {. ]: U2.7快速初始化成员变量36
      M! H8 ]1 l. Y- V2.8非静态成员的sizeof39
    % a2 [' J5 Y) m- ]2.9扩展的friend语法40$ D( i, E" ~+ A/ t3 Y: a& U
    2.10final/override控制449 m$ r+ O1 t7 C6 f' B# z* D; E
    2.11模板函数的默认模板参数48
    ; f% J, }$ n) x2.12外部模板508 T( i, B' H: w6 F' K
    2.12.1为什么需要外部模板50& r7 \0 v+ C+ b' l
    2.12.2显式的实例化与外部模板的声明52) M" B/ t6 p5 U9 ?+ r2 v# K6 ]0 b
    2.13局部和匿名类型作模板实参54
    9 b) z8 G4 k) o$ S# }" A2.14本章小结55
    ; J0 W5 t- W8 h! _6 C" T; q第3章通用为本,专用为末57
    $ q+ |& t, s( W. ]; g9 F4 {3.1继承构造函数575 ]5 S! X7 M5 i
    3.2委派构造函数62
    - L9 v: {$ e$ e, b2 ]3.3右值引用:移动语义和完美转发684 A2 G2 W) l& _- p# C
    3.3.1指针成员与拷贝构造68. ^: O0 C% i/ }1 t* {
    3.3.2移动语义692 U$ {3 X6 E8 i0 F; h0 S6 L  a' ^
    3.3.3左值、右值与右值引用75
      S9 o6 B* J! ]  G# A- w2 H3.3.4std:move:强制转化为右值804 d+ t% b' }* k# l, O% F5 w5 z
    3.3.5移动语义的一些其他问题82- E7 g" J- b; x3 @8 @
    3.3.6完美转发85
    ' R- |7 N6 j: [7 R: A3.4显式转换操作符89# ?- G8 \" X: ]
    3.5列表初始化929 e7 u( M4 D0 b: S
    3.5.1初始化列表92
    " N" K. w8 [, ~9 M3.5.2防止类型收窄96
    ; F5 T* M( u4 \) J3.6POD类型98' L! Y3 k" F7 @( z. A! s: ~4 P. a% W
    3.7非受限联合体106
    5 e( l1 h7 D: l6 m% V3.8用户自定义字面量1107 t8 a7 }5 f/ H0 h2 z* ]
    3.9内联名字空间1133 t3 W, u2 e! [3 F) _9 {5 ]
    3.10模板的别名118
    ! H+ g+ ?* r+ L" Z3.11一般化的SFINEA规则1196 D) o% o7 ~: ]6 E
    3.12本章小结121
    , g: o' d. z5 a第4章新手易学,老兵易用123
    * Y+ Q, X4 o/ y( p4.1右尖括号>的改进123
    7 U2 F# X, z  F- a# Y% `& x4 Q& R1 U3 n4.2auto类型推导124
    ; [  v1 P9 S/ Y, y$ E0 i7 b4.2.1静态类型、动态类型与类型推导124" J- _3 A. h8 p% W# ~
    4.2.2auto的优势126) O* I  a3 s- W
    4.2.3auto的使用细则130
    ; A. P2 p5 m  e4.3decltype134
    5 `2 a( k. `1 ?. R5 y4.3.1typeid与decltype134" i+ Z, k* t" L2 }4 _1 I% l, J  |$ M
    4.3.2decltype的应用136: q7 h  w$ S& Y5 ]2 c" `1 R' X
    4.3.3decltype推导四规则140, {' U+ X4 u* J; I  R$ Y
    4.3.4cv限制符的继承与冗余的符号143* z" X) k& |% Y
    4.4追踪返回类型145" V& ?, x0 `* o/ X! _
    4.4.1追踪返回类型的引入145# C5 c/ r0 e+ _* a- }& S
    4.4.2使用追踪返回类型的函数146
    ( `6 _) G% k: }, H4.5基于范围的for循环150
    , d0 ]& ~) n3 c# u" V: Z: g4.6本章小结1534 h. D* {- B1 v( `8 L( s
    第5章提高类型安全155, R9 _' j4 p( K4 u
    5.1强类型枚举155+ [8 v5 r; J3 `
    5.1.1枚举:分门别类与数值的名字155
    " z7 G& j2 |9 U: v" p9 g) [5.1.2有缺陷的枚举类型156
    8 j% N2 M& l7 Q# R( Q& N3 [& V" D5.1.3强类型枚举以及C++11对原有枚举类型的扩展160
      S3 ?. I, G4 y1 k: R% q! F5.2堆内存管理:智能指针与垃圾回收1630 I2 O; f9 _$ E! E; v
    5.2.1显式内存管理163
    # T. t& o' Q8 h$ U" x5.2.2C++11的智能指针164/ q8 d. i! V. u4 }- p
    5.2.3垃圾回收的分类167' \* ?( `0 U7 c
    5.2.4C++与垃圾回收169) S% N  x3 o7 |/ J
    5.2.5C++11与最小垃圾回收支持170
    # Q* {4 }5 }& S( m5.2.6垃圾回收的兼容性172. |+ v, |# R5 T$ ~- Y
    5.3本章小结1730 ^/ j9 v, B, S$ w9 b: k4 \3 D
    第6章提高性能及操作硬件的能力1746 J8 o$ H! o! i* j
    6.1常量表达式174
    / ]+ N* q- @" X/ g, j6 I* V6.1.1运行时常量性与编译时常量性174- c" U; |  B  F& F6 {" w9 ^3 D) b
    6.1.2常量表达式函数1769 u3 {% j1 {6 i8 r: p) h
    6.1.3常量表达式值178
    ; X( K' ]1 j; }* d6.1.4常量表达式的其他应用180
    6 M8 n( l8 S1 n4 c6.2变长模板183
    ! j* G$ G4 p4 w# R4 A7 T6.2.1变长函数和变长的模板参数183) p) l$ \7 u4 h; P9 |2 {
    6.2.2变长模板:模板参数包和函数参数包185* j# w, s; X, i/ w; X# K
    6.2.3变长模板:进阶189  ?: R; Y5 a  i6 F
    6.3原子类型与原子操作196
    # Q+ X+ W& P! i; r. S8 z6.3.1并行编程、多线程与C++11196; T. l7 K$ t% z% B+ q
    6.3.2原子操作与C++11原子类型197
    8 R3 {1 ]. h2 \$ i1 ]! x3 \1 o6.3.3内存模型,顺序一致性与memory_order203
    6 \/ }) o% a1 A/ P6.4线程局部存储214
    7 p& r2 v$ b' E% g8 D6.5快速退出:quick_exit与at_quick_exit216
    2 M; a" l4 f* `2 E# r) k% A% d; x  A6.6本章小结219
    ' j& e# z4 u+ D( ?& C, {' {第7章为改变思考方式而改变2208 a* N& Q8 F. n# m
    7.1指针空值—nullptr220+ |# H0 M( v- J5 Z& {8 I$ H  S" h
    7.1.1指针空值:从0到NULL,再到nullptr220) A* e0 O+ ~, q) P* V
    7.1.2nullptr和nullptr_t2232 g! Z. r* P8 a9 w8 }6 T% d
    7.1.3一些关于nullptr规则的讨论225. U$ s3 g# N4 ]# ]2 s8 [; R
    7.2默认函数的控制227( O/ ]: \/ g1 P. l& q) ^$ F6 H2 ]6 W
    7.2.1类与默认函数227: y' M1 Z" M$ C) ]- z, F' f
    7.2.2“=default”与“=deleted”230/ u: l% v0 u/ G. X( d
    7.3lambda函数2346 q; H. D3 y! h: |% E$ t4 U
    7.3.1lambda的一些历史234
    6 S  z7 h; q0 k. c& h) k* E0 m7.3.2C++11中的lambda函数235
    ) t8 G: ]' K" B6 m' S. T7.3.3lambda与仿函数238, u* A  ~& }; f; y! o4 S3 @
    7.3.4lambda的基础使用240) P9 i/ @5 h- g: o* Y
    7.3.5关于lambda的一些问题及有趣的实验243
    " u* R6 L$ f# q7.3.6lambda与STL247
    0 v5 R9 B/ |+ ^7.3.7更多的一些关于lambda的讨论254
    5 Y! w# u2 ?' o3 ~$ @7.4本章小结256/ k) n& Y! M# [/ `) W& ]8 i
    第8章融入实际应用258
    6 |# |$ _' V5 W7 ^& [. M1 Q8.1对齐支持2583 I) Y7 Y* A, O$ x4 ?
    8.1.1数据对齐258
    ) h; A# W, |/ L/ L+ _9 _% J8.1.2C++11的alignof和alignas2618 u: `. k% R  J5 H
    8.2通用属性267
    * D& q2 O9 Q5 y, }8.2.1语言扩展到通用属性267
    / `& B. P! f# y# M2 a5 K; ?, h8.2.2C++11的通用属性268( g" s  W! d# z" A3 y1 F. Z7 O
    8.2.3预定义的通用属性270! a; f. w! D2 o/ d) F5 d
    8.3Unicode支持274
    3 K/ E- j* ^# i! T8.3.1字符集、编码和Unicode274
    ' [% c% }$ @5 A4 m* P8.3.2C++11中的Unicode支持2765 O2 x! i. E% [) O, W
    8.3.3关于Unicode的库支持280
      G7 L# V8 R+ @2 Q- X8.4原生字符串字面量284
    , j, s9 `% A3 k1 P: p8.5本章小结286& t3 ?: h0 D! ^5 T
    附录AC++11对其他标准的不兼容项目287
    1 G5 ?$ O7 A) }4 K8 C附录B弃用的特性294% V& T% I6 z8 x" A$ u
    附录C编译器支持3010 d' k9 H5 w& s' Z, x! M, i& e$ ]
    附录D相关资源304" K* ?+ e# _% A( }8 d

    . \: h" i$ y6 R$ D
    . E5 o# X  J, X/ g封面
    / m" j4 u. l$ s' |% @7 A. d 1.jpg
    3 B6 r, u* N! j* I6 |, Q( S& \; }1 ~6 q$ b
    截图
    5 h& }5 x: e3 r. j9 P 2.jpg + R6 x! A' {. V/ z# b6 S
    游客,如果您要查看本帖隐藏内容请回复
    " ]; m. r- {# _% P2 z$ q

    8 |- R$ c: N1 A: r) w: B5 L$ d1 H0 \7 ]" G1 z) P
    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-7-18 22:07 , Processed in 0.630291 second(s), 107 queries .

    回顶部