QQ登录

只需要一步,快速开始

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

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

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

377

主题

148

听众

5950

积分

升级  19%

  • 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 编辑   O0 i8 R$ \6 n4 ]6 E; Y
    . y. ?* ]2 y- L: V# K! D
    内容简介
    ( ^: j8 ]4 O4 {, f' r% a深入理解C++11:C++11新特性解析与应用》内容简介:国内首本全面深入解读C++11新标准的专著,由C++标准委员会代表和IBM XL编译器中国开发团队共同撰写。不仅详细阐述了C++11标准的设计原则,而且系统地讲解了C++11新标准中的所有新语言特性、新标准库特性、对原有特性的改进,以及如何应用所有这些新特性。; R7 u5 E% E8 O% c3 {( y' O( 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的相关资源。
    8 ^6 F* `' l" o% V7 p
    . J* L. l' P' `& ^( e编辑推荐- q$ n( @- r/ k8 f8 m) [: G9 Y" F
    深入理解C++11:C++11新特性解析与应用》编辑推荐:C++标准委员会成员和IBM XL编译器中国开发团队共同撰写,权威性毋庸置疑。系统、深入、详尽地讲解了C++11新标准中的新语言特性、新标准库特性、对原有特性的改进,以及所有这些新特性的应用。
    2 v$ [+ n3 B$ c: L8 ?* i) s+ |9 a' `0 M* m
    作者简介; q% x3 f2 s  @
    作者:(加拿大)Michael Wong IBM XL编译器中国开发团队4 j* }8 U1 i( h
    ) d+ t2 j- O) G! m( Z2 t
    Michael Wong,C++11标准委员会(WG21)委员,WG21加拿大代表团团长及IBM公司代表(投票人),WG21 SG5(transactional Memory study group)学习小组组长。除此之外,Michael还是OpenMP委员会的CEO,SCC(Standards Council of Canada)的副主席。: {$ y% f! p. k1 K* F" [% O
    Michael是多个C++11/OpenMP/STM新特性的合作编写者,活跃于各种技术会议,而且为Programming Committee of Boost以及IWOMP等国际会议服务。Michael也是IBM公司的高级技术专家,领导IBM XL C++编译器、XL C编译器的开发工作,当前致力于IBM编译器的C++11新特性部署。Michael在并行编程、C++基准测试、对象模型、泛型编程、模板元编程等多个技术领域均有涉猎,并且在对象模型以及事务内存等方面取得过多个专利。
    $ v* s) H* b& T+ n早年Michael于多伦多大学获取得了天体物理学的学士学位,并在滑铁卢大学获得了硕士学位。在加入IBM之前,Michael曾先后供职于大卫?邓禄普天文台(David Dunlap Observatory),CDC公司(Control Data Corporation),BMO Nesbitt Burns公司等。
    + E# E1 {7 V8 }3 u6 P' UIBM 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新特性的开发工作。: o/ Z+ t7 I1 Z. A

    . v$ d0 d2 r, {  D, v: Z3 z! }目录免责声明
    " j6 @* ~. \, j  w& H8 s; k: r% R  ]$ Z
    前言3 U( M% S9 R9 g$ y  z8 E7 C+ V
    第1章新标准的诞生1* W" K$ N; ^, s7 W% b# m
    1.1曙光:C++11标准的诞生1
    + {- {" H5 g1 ]; }, s3 }1.1.1C++11/C++0x(以及C11/C1x)——新标准诞生1* \9 c' G& l: |' O" _- D+ f
    1.1.2什么是C++11/C++0x2* ^6 b/ n1 @' h3 w& T7 M
    1.1.3新C++语言的设计目标3( i3 ?$ h  q& |% X) I0 e
    1.2今时今日的C++5
    6 _# }6 N5 n8 Y8 h6 j1.2.1C++的江湖地位57 J6 U9 T) P. _3 P1 E
    1.2.2C++11语言变化的领域5
    8 C3 J% d3 i) M) n- }1.3C++11特性的分类7
    2 q: t7 w2 u' I7 f2 U  ], b1.4C++特性一览11% n3 W3 U6 C6 C( ?
    1.4.1稳定性与兼容性之间的抉择11# A, a. n- X: }# p# k
    1.4.2更倾向于使用库而不是扩展语言来实现特性12
    . V9 Y6 O4 |) x1.4.3更倾向于通用的而不是特殊的手段来实现特性13
    . M. x) P3 F+ |3 L! l4 l: q+ V1.4.4专家新手一概支持13
    9 ~. h; Z) d) R6 I; W1.4.5增强类型的安全性146 i& R* }9 Y8 K' h, }
    1.4.6与硬件紧密合作14
    6 O: ^$ S$ H: t; X- {. s& H1.4.7开发能够改变人们思维方式的特性15# d6 k7 y0 Y. l9 e  h
    1.4.8融入编程现实16: L' y. M3 _( I, s4 O9 ?
    1.5本书的约定17# n, W: E% K) t# R
    1.5.1关于一些术语的翻译17- s) o, \  y" N1 ^2 b
    1.5.2关于代码中的注释17
    ( m* d+ v- X3 |- t9 ]! ^1.5.3关于本书中的代码示例与实验平台18+ M' \8 F0 ^2 c( W4 z5 O" n
    第2章保证稳定性和兼容性19
    ; d, a  F! E. k# X- b2.1保持与C99兼容19
    - _  c. s$ [4 u& `, j4 s: v5 Z2.1.1预定义宏19
    % `2 x/ @3 ]$ D4 D% g) f1 r2.1.2_func_预定义标识符20
    + H: c) {7 q* T' S$ o7 k% @2.1.3_Pragma操作符22
    . ]& Q' A/ D  K/ M' C" O% O, p' \, ~8 y2.1.4变长参数的宏定义以及_VA_ARGS_22* F( U) F2 ^8 E7 i  k$ V
    2.1.5宽窄字符串的连接237 ^9 y) _  H8 m' Y) Y$ l4 k
    2.2longlong整型23! K1 z* M" W4 D: m
    2.3扩展的整型253 Q6 K9 s1 _: `. p
    2.4宏_cplusplus266 l- ]+ ^* ^% C3 ]) \% }
    2.5静态断言27' E$ [3 k; J: T( F! Y6 ^" m1 ~3 t2 R
    2.5.1断言:运行时与预处理时27
    ) g/ Y9 T% @( ?1 a2 r( B2.5.2静态断言与static_assert28* l- U8 y5 q+ Z2 c: b: E
    2.6noexcept修饰符与noexcept操作符32
    " R. O1 W4 K, M7 ^; M5 g8 {: \3 I2.7快速初始化成员变量36
    5 h6 G6 ?, I. E" T! X: o) B2.8非静态成员的sizeof39& K3 i- }7 d$ ~( w5 F/ p" ?% @. g
    2.9扩展的friend语法40- u+ t* o( w+ `
    2.10final/override控制44
    - g9 M$ s& q% e7 m' G1 ?6 u+ B2.11模板函数的默认模板参数488 ^/ l1 I* ]: ^& ^1 {: j
    2.12外部模板50- l6 N6 ?- }4 b7 C
    2.12.1为什么需要外部模板504 p) D1 T0 V5 Y6 M4 N$ @, K
    2.12.2显式的实例化与外部模板的声明52
    2 C5 f  M1 }& d1 Y8 I) F" _4 t/ |2.13局部和匿名类型作模板实参54
    , `1 R, P/ @9 ^: V2.14本章小结557 A3 f/ A3 g3 Q3 D$ {" a
    第3章通用为本,专用为末57
    4 G0 s* i5 m3 o& `' L, m% U3.1继承构造函数57
    1 y1 ]+ B. [' r; t  X3.2委派构造函数62! J' `1 b8 h2 u% j* A/ C- z5 j
    3.3右值引用:移动语义和完美转发68
    ; e2 }- z1 t! B% J3 Z9 j3.3.1指针成员与拷贝构造68
    " q% T, w- V" u# R; [3.3.2移动语义693 a* N4 e7 x% z6 o
    3.3.3左值、右值与右值引用75
    7 R" a6 T" p8 f' ]$ g. w) L3.3.4std:move:强制转化为右值80
    6 `( V- ?* ^. V+ x* K3.3.5移动语义的一些其他问题82: J3 ^/ K$ ~1 ]: i$ t6 P
    3.3.6完美转发85
    0 x9 K  o5 r/ u3 x6 d- N3.4显式转换操作符89% }4 Q5 z* g5 F/ j
    3.5列表初始化92+ r, U# u6 k9 Q; d
    3.5.1初始化列表92$ A! \+ j, C: f4 N7 ]8 i" a. @6 E  I
    3.5.2防止类型收窄960 e3 ^' E- l& v& L0 x
    3.6POD类型98
    . y* q' n. f$ ?+ k3 G. T3.7非受限联合体1068 j" Z/ H& @! X" {$ u( n8 O
    3.8用户自定义字面量1107 L, N$ |  b( a, I% T( {) Q
    3.9内联名字空间113
    8 x: v. l6 |' d/ J" C3.10模板的别名1183 y$ e; i  R# `! _0 T# d7 V
    3.11一般化的SFINEA规则1193 Y6 e  T8 s0 v1 d
    3.12本章小结121
    7 \3 ^# Y3 G; T$ R' }第4章新手易学,老兵易用123
    7 P+ X0 G0 E, s) R3 p4.1右尖括号>的改进123  N( r% d4 A- w8 {: e# [
    4.2auto类型推导124
    6 k, P% O$ c0 B5 b3 F2 i4.2.1静态类型、动态类型与类型推导124) ~# W0 ~5 w1 f* d8 \/ U# o& j1 ?
    4.2.2auto的优势126# S" P! l& c$ m8 Y. {) Y0 r
    4.2.3auto的使用细则130
    * p& E; y3 Q: y4.3decltype134
    + Z- k; l0 ~" j3 c4.3.1typeid与decltype134
    1 c# B! B% f& i; y4.3.2decltype的应用136
    4 c1 r# |3 l! f9 B- w" q) A2 {5 z4.3.3decltype推导四规则140& S8 _: v- Q! M, D: e+ E, e
    4.3.4cv限制符的继承与冗余的符号143
    ) T% m  I/ r  D1 {+ t) R5 G4.4追踪返回类型145# v, e/ @2 g& e/ g, O
    4.4.1追踪返回类型的引入145/ q5 {1 [. x, Y6 \* i% W
    4.4.2使用追踪返回类型的函数146
    9 o* O* N6 b! M3 L. C4.5基于范围的for循环150
    , P" L3 I4 D* _' F6 e( L; k  k/ ^4.6本章小结1537 X; b( y. E( \
    第5章提高类型安全155$ N5 [( k( g+ t, c& V9 [$ N& K
    5.1强类型枚举155' R! q9 k' u% l3 `1 [# |; j
    5.1.1枚举:分门别类与数值的名字155
    # k% w( f% U/ r+ ^- B5.1.2有缺陷的枚举类型156+ j5 E! w9 x3 }! h- X" O
    5.1.3强类型枚举以及C++11对原有枚举类型的扩展160
    $ X1 b& N9 F% u5 v1 [1 P5.2堆内存管理:智能指针与垃圾回收1633 G2 x; U6 V( B0 z3 @
    5.2.1显式内存管理163) Y4 u* q$ D1 N
    5.2.2C++11的智能指针164
    8 U) P; j- f/ Y' F5.2.3垃圾回收的分类167
    . B$ a: v* b, o3 k+ d: f5.2.4C++与垃圾回收1695 v; S* L/ E, Y' p
    5.2.5C++11与最小垃圾回收支持170
    ; [) E/ Z) ]  K3 _) ~- r5.2.6垃圾回收的兼容性172
    & C* ]7 }! A. s5.3本章小结173! M( J- k2 |, z5 f& U1 q
    第6章提高性能及操作硬件的能力1741 u, X0 Z& H% n0 E
    6.1常量表达式174  `( f4 n* S  J, w: N2 u2 P) c8 v- F2 ^
    6.1.1运行时常量性与编译时常量性174" e* o& E: S/ B' C+ L
    6.1.2常量表达式函数1762 ?5 y; r' o% ~5 k- I' Y8 }
    6.1.3常量表达式值178
    - `4 x9 v! X  C( U& A! w+ S6.1.4常量表达式的其他应用180
    " r2 u! X4 K+ [6.2变长模板183
    ' G( ?# B/ y' d7 w2 e" L6.2.1变长函数和变长的模板参数1836 n' h5 h, q6 C: X4 q! _$ [9 L
    6.2.2变长模板:模板参数包和函数参数包185
    9 K1 Q1 y% _. ?3 r# o6.2.3变长模板:进阶189" y; A" |3 T3 X7 M% }  u
    6.3原子类型与原子操作1964 N& A* Y0 J" g* U' t4 ~
    6.3.1并行编程、多线程与C++11196
    , \1 q9 }! ?; @& ?6.3.2原子操作与C++11原子类型197- C1 y, e1 _# t
    6.3.3内存模型,顺序一致性与memory_order203% o; d% F% b: `2 ?* r  v. [
    6.4线程局部存储2144 m' A. H( f/ L
    6.5快速退出:quick_exit与at_quick_exit216% r6 W7 j) B" w/ k' M( m( ]! L; V3 s
    6.6本章小结219
    / m4 N% h! ?% b3 d/ ~# U; z& ?第7章为改变思考方式而改变220
    # I% ^9 m; M! i( ]: t* X) {7.1指针空值—nullptr2203 t- M0 o; z2 \/ C
    7.1.1指针空值:从0到NULL,再到nullptr220- i$ F; m; w# Y" X( a
    7.1.2nullptr和nullptr_t223
    ! u' ?$ \% Z% A+ E7.1.3一些关于nullptr规则的讨论225
    . b7 W' }  `5 X5 h6 z; j  H7.2默认函数的控制227* U: v0 Q* x) R' I' b
    7.2.1类与默认函数227( q0 B$ X5 X7 p* g7 P8 g+ z
    7.2.2“=default”与“=deleted”230
    7 P' N/ P- z5 F" U7.3lambda函数234' I; e" _+ d6 a5 L: C1 J0 g% u! X5 X
    7.3.1lambda的一些历史234
    0 V, y0 v/ k- @7.3.2C++11中的lambda函数235
    - ]3 }  T8 u, m. D$ {$ W+ |; L8 K. L3 H7.3.3lambda与仿函数238
    . k* y8 @* l( Z# ~7.3.4lambda的基础使用240
    9 O8 D2 M, k# d. r7.3.5关于lambda的一些问题及有趣的实验243- D6 y6 Y! l- L1 r( Z8 @1 Q# ^
    7.3.6lambda与STL247) B3 n( a9 L; C9 ~. @* M0 C) C+ c5 X! S$ N8 _
    7.3.7更多的一些关于lambda的讨论2547 S2 X! V" o7 `& ]: V9 L8 H
    7.4本章小结256' {5 L: y# x3 s9 M! M, E
    第8章融入实际应用258
    / H. H/ }" M- m4 A5 ~8.1对齐支持2587 T, I6 I/ Y) W% g
    8.1.1数据对齐2580 D7 S  R8 Y7 i  f) K
    8.1.2C++11的alignof和alignas261+ s& ~7 P% Y- a/ s, N+ z) x
    8.2通用属性267
    " Y) \( O. @  y4 K, v; l% l8.2.1语言扩展到通用属性267
    7 M2 R2 R9 u' v9 R$ U8.2.2C++11的通用属性268( d1 s2 K- t. U
    8.2.3预定义的通用属性2706 o8 G$ A( C. x! K  _
    8.3Unicode支持274
    3 V" D! w3 w: [1 y8.3.1字符集、编码和Unicode274* G8 B. W3 k! e
    8.3.2C++11中的Unicode支持276
    8 i9 a7 t+ Z3 v* [' L8 p& W8.3.3关于Unicode的库支持280) ^3 E* c# S' |% d" o& c  g( D$ E
    8.4原生字符串字面量284
    1 C/ C% Q% S5 {6 B( [8.5本章小结286: E4 w' _$ }3 O6 j
    附录AC++11对其他标准的不兼容项目287
    ! s3 H5 o, D+ o9 f+ z( ?9 r: t附录B弃用的特性294
    ! y* k% f5 n" U" w5 _; F- f附录C编译器支持301
    , n. g" Z# ~9 W  Q' |, V8 a- ~1 ?附录D相关资源304
    ' ]. }' P5 I; E, W
    * d5 ^5 B- _8 m5 q- T
    / U- k( G* y' F4 I5 ^  D
    封面9 e& p2 ]7 P! g! T7 \4 D/ a! q
    1.jpg
    1 d; c) M% K  N* y' C1 u. v
    6 ]+ E( J% r5 M0 V4 m+ r4 S( }截图
    7 z+ y, _: u8 ^7 o1 g- S 2.jpg ( o7 g3 \2 h( g0 C8 B
    游客,如果您要查看本帖隐藏内容请回复

    5 E' R! J  Q: j- N. m
    ( X( q8 ?4 Z  ~, s' `3 q$ A9 c# \% y, Y
    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-8-2 15:20 , Processed in 0.710068 second(s), 107 queries .

    回顶部