QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5120|回复: 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 编辑 1 z; ~. R9 h; n* ]9 d- c
    / ~: B! x, g- S# ^' ~4 Y: ^# q$ K
    内容简介; l) i; U/ U# Y
    深入理解C++11:C++11新特性解析与应用》内容简介:国内首本全面深入解读C++11新标准的专著,由C++标准委员会代表和IBM XL编译器中国开发团队共同撰写。不仅详细阐述了C++11标准的设计原则,而且系统地讲解了C++11新标准中的所有新语言特性、新标准库特性、对原有特性的改进,以及如何应用所有这些新特性。
    * |3 N& J2 f. E( F  F: X/ J深入理解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 E$ [4 i/ u+ E, R/ O9 G7 v! l( ~! _, R/ [4 S7 Q
    编辑推荐/ g9 k# ?$ B% W
    深入理解C++11:C++11新特性解析与应用》编辑推荐:C++标准委员会成员和IBM XL编译器中国开发团队共同撰写,权威性毋庸置疑。系统、深入、详尽地讲解了C++11新标准中的新语言特性、新标准库特性、对原有特性的改进,以及所有这些新特性的应用。
    / u6 }+ ^: B, Q, {. X3 r
    ; h" j1 f0 d8 R# j& W- D; F  ?作者简介
    1 B! l* ~0 b5 n6 ]$ t; y+ l( i% M作者:(加拿大)Michael Wong IBM XL编译器中国开发团队6 f2 o9 x8 K& Z9 n

    * L& J8 G& A2 Q' b' ?  s2 iMichael Wong,C++11标准委员会(WG21)委员,WG21加拿大代表团团长及IBM公司代表(投票人),WG21 SG5(transactional Memory study group)学习小组组长。除此之外,Michael还是OpenMP委员会的CEO,SCC(Standards Council of Canada)的副主席。
    + t7 H% \% u* p5 E# m  GMichael是多个C++11/OpenMP/STM新特性的合作编写者,活跃于各种技术会议,而且为Programming Committee of Boost以及IWOMP等国际会议服务。Michael也是IBM公司的高级技术专家,领导IBM XL C++编译器、XL C编译器的开发工作,当前致力于IBM编译器的C++11新特性部署。Michael在并行编程、C++基准测试、对象模型、泛型编程、模板元编程等多个技术领域均有涉猎,并且在对象模型以及事务内存等方面取得过多个专利。4 U# S2 k+ h0 S; c; P7 ~- w
    早年Michael于多伦多大学获取得了天体物理学的学士学位,并在滑铁卢大学获得了硕士学位。在加入IBM之前,Michael曾先后供职于大卫?邓禄普天文台(David Dunlap Observatory),CDC公司(Control Data Corporation),BMO Nesbitt Burns公司等。
      r' G: t/ g) P8 `. L# t( Z# gIBM 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 G# _+ j  H! G8 l4 C% n
    $ F0 ]5 X! Y# P7 F( G
    目录免责声明9 H( M) W) ]! s/ v8 N

      v* s! h' N# [' P. x6 t, ?* L前言
    , Y: ~, y3 U$ ~& X% Y第1章新标准的诞生10 `1 _5 _) U- o6 ?' f9 P
    1.1曙光:C++11标准的诞生1
    # r5 X: q5 R. v4 H# v0 m3 P1.1.1C++11/C++0x(以及C11/C1x)——新标准诞生1
    0 F% o- W9 }/ F: C. U! h- }1.1.2什么是C++11/C++0x2
    : ]/ y& {' k; X: I1.1.3新C++语言的设计目标33 m7 a, _: q  m5 V
    1.2今时今日的C++53 ~7 P/ |' @4 R# e" @( {6 G/ P
    1.2.1C++的江湖地位5
    & k7 J! F4 R$ V  \0 T1.2.2C++11语言变化的领域5
    4 ^  {4 u0 }( z1.3C++11特性的分类7
    $ |( |) g8 ?: [: {2 Y: j4 g% k1.4C++特性一览11% Y( ?, l3 _4 R0 Z& |2 Z
    1.4.1稳定性与兼容性之间的抉择11
    $ }- `' S5 h- G& [4 f4 g1.4.2更倾向于使用库而不是扩展语言来实现特性124 B; J2 E1 V7 W* E: u( u, T; _
    1.4.3更倾向于通用的而不是特殊的手段来实现特性13- ~1 e6 ]# E7 E0 ?) }' U' P
    1.4.4专家新手一概支持13& b/ }- e1 z% h. y  J: J" {5 x, R
    1.4.5增强类型的安全性14# \! P5 D6 X9 k* x
    1.4.6与硬件紧密合作140 i8 \; f6 u# }. N' U
    1.4.7开发能够改变人们思维方式的特性150 r( r4 f( o. R* P8 N, f
    1.4.8融入编程现实16
    ) s; c& u9 F5 S9 |3 L, y! A# M1.5本书的约定17+ c  {' `% o3 u4 L
    1.5.1关于一些术语的翻译17. B+ Q9 G- d" d2 k/ \) W1 B
    1.5.2关于代码中的注释17) ?4 H9 p. h- M; J+ i* {
    1.5.3关于本书中的代码示例与实验平台18
    - S6 u$ \1 ^6 }第2章保证稳定性和兼容性191 {+ F/ X* o" x3 u
    2.1保持与C99兼容190 ~% V9 M3 @8 q& ]# `" p
    2.1.1预定义宏19
      X1 J+ Y  ^! s9 Z# C& o2.1.2_func_预定义标识符20
    3 l- G5 |0 S. E/ M2.1.3_Pragma操作符22
    % g$ R- D* E( \. ~, c2.1.4变长参数的宏定义以及_VA_ARGS_221 b/ `9 s9 h& e* o2 g9 x
    2.1.5宽窄字符串的连接23
    , H8 O9 x8 M4 G3 X& ~) g7 Q2.2longlong整型23
    ! L' F2 `- g( r+ o) ]8 q$ M2.3扩展的整型25
    $ i- d# Q) n9 V) B! V2.4宏_cplusplus26; V. A9 C# \& c
    2.5静态断言27
    7 r; G# w. b' x$ V* r% i1 Z( q2.5.1断言:运行时与预处理时27
    : R+ q+ p" h/ ?# ^2.5.2静态断言与static_assert28
    2 d/ L: A9 z. q0 h3 i& Z& o" H1 O2.6noexcept修饰符与noexcept操作符32
    1 I7 p6 S1 D& q9 d. p; U2.7快速初始化成员变量36% }5 m0 o" K6 B& W! }0 e: ~
    2.8非静态成员的sizeof398 P7 I% C( j7 D
    2.9扩展的friend语法40- G" s7 `* ^, U( h' \* [, H) S7 `
    2.10final/override控制44
    2 J: a, g1 j# q6 n: ^: o- q. t8 \2.11模板函数的默认模板参数485 P+ b3 A% |4 q$ y. ]
    2.12外部模板50
    + i, A+ @- A- ^: r' C2.12.1为什么需要外部模板50
    7 j4 t1 k5 j9 l2.12.2显式的实例化与外部模板的声明52
    1 T) }! l* @" j$ o" x2.13局部和匿名类型作模板实参542 F8 B3 s! l1 b& h
    2.14本章小结55, E9 j+ R2 \" W  L/ P  g
    第3章通用为本,专用为末57
      ~8 M1 }* C0 l! H+ T3.1继承构造函数57! O) g4 {  y4 {; Z
    3.2委派构造函数62! y7 d$ k1 l- @, H" u
    3.3右值引用:移动语义和完美转发68
    , M2 L1 q: U$ l3.3.1指针成员与拷贝构造68
    , _/ A  h% l2 [5 i  a) F3.3.2移动语义69
    6 {/ U8 [7 u4 @2 r$ t) V0 [3.3.3左值、右值与右值引用75
    2 z# X, Z( ~7 p3.3.4std:move:强制转化为右值80
    0 h3 B7 P& D# l1 ]2 H. b. K3.3.5移动语义的一些其他问题82. @( J; Q* A0 }4 S9 X
    3.3.6完美转发85
    / ?9 a! \/ s, F! C6 ~0 ~/ x3.4显式转换操作符89
    2 P% g, U' v7 z9 j3.5列表初始化92$ ]) H# }7 \; f* l8 X5 e( K
    3.5.1初始化列表929 }+ O, @( h! i6 ^# K' J# n6 h& H
    3.5.2防止类型收窄96
    , S6 f, P0 j6 o- n, P$ H- m3.6POD类型98  l% Z, d1 x! L% M9 I6 S( C/ T; v
    3.7非受限联合体106
    7 j+ I, ^  o+ R- W3.8用户自定义字面量110; `) D4 L" M- z5 L, n$ U
    3.9内联名字空间113! q+ X0 f/ A, k* x
    3.10模板的别名118
    4 S! i* |9 N3 c; m8 M. N- s3.11一般化的SFINEA规则119) t& x5 C, ~( k+ \  |
    3.12本章小结121
    - p& S: h. T( q1 Q第4章新手易学,老兵易用123
    + Y3 w2 n0 W0 ~1 a. Z4.1右尖括号>的改进123
    2 }9 N9 A, B8 V: `/ g/ g) _4.2auto类型推导124( f( E/ o  ^, B3 w8 H, E
    4.2.1静态类型、动态类型与类型推导124: z6 R# o' L/ [  S8 U7 g
    4.2.2auto的优势1263 `1 h! _' M5 ], |0 m( Q% G
    4.2.3auto的使用细则130* ?; O' S& d4 L9 @1 n" [; i+ q
    4.3decltype134. V; |! h. a9 L+ E: f! X: k
    4.3.1typeid与decltype134
    3 F% ^5 J3 P4 H( j  L0 H- t, K# _4.3.2decltype的应用136# A) e/ F4 E3 g6 g' h
    4.3.3decltype推导四规则140
    & A& W/ n% T) g4.3.4cv限制符的继承与冗余的符号143
    8 i8 M# C/ L# c' H; r. ]& X4.4追踪返回类型145
    ) [3 Q7 F3 c" [' g7 [4.4.1追踪返回类型的引入145
    , k* k7 W9 R  F. a* ]& ?4.4.2使用追踪返回类型的函数1468 C. [2 z7 f: }
    4.5基于范围的for循环150
    - R1 ^9 E$ v$ O% Q3 w# c4.6本章小结1539 m/ D; S' e" \  i* t7 n' C/ z' \- t
    第5章提高类型安全1551 c# P  N' H& x- V6 M
    5.1强类型枚举155* q& }  d# J* H* X& y) [
    5.1.1枚举:分门别类与数值的名字1550 h* E) U  [  _* [, b" n0 W- s
    5.1.2有缺陷的枚举类型156
    1 U, J' G! w7 h+ ?; \" W5.1.3强类型枚举以及C++11对原有枚举类型的扩展160
    ( k# `- K7 N$ r, H! ^5 n2 Q: o5.2堆内存管理:智能指针与垃圾回收163
    5 i$ M" Q" b, @5.2.1显式内存管理163- y/ t6 }# T/ V. A1 S
    5.2.2C++11的智能指针164  |4 k- }: m/ h( D- a$ E1 D
    5.2.3垃圾回收的分类1677 H: L6 {/ B3 t8 a! S
    5.2.4C++与垃圾回收169
      H, v2 e  q8 W7 x) N' S, I5.2.5C++11与最小垃圾回收支持170# G: j& z5 [5 c
    5.2.6垃圾回收的兼容性172
    1 t0 h) l+ i; W% K+ E- p5.3本章小结173
    9 |& S) F, `0 b2 s' B第6章提高性能及操作硬件的能力174: C) Z) l+ o& p  e
    6.1常量表达式174
    0 C$ L$ D3 s: Y: r0 _. b" z) R. Q6.1.1运行时常量性与编译时常量性1743 i& n7 O; T. y) L" `* A4 a
    6.1.2常量表达式函数176) n  D! c+ e. X
    6.1.3常量表达式值178
    - v  S. u( E& q& {; g6.1.4常量表达式的其他应用180
    $ A. y$ O& r9 ?4 K8 U" ]6.2变长模板1837 N# |0 ?6 f+ _, Z& _, r
    6.2.1变长函数和变长的模板参数183+ V$ p1 T) o! A$ x9 s7 B3 j( D3 @
    6.2.2变长模板:模板参数包和函数参数包185
    % ~& N" t* z  h8 L' \8 j6.2.3变长模板:进阶189
    / k* Y% f: U* V- {, ^* ?6.3原子类型与原子操作1965 A" @1 ]3 C4 _4 q  A) I
    6.3.1并行编程、多线程与C++11196- Z  `# a7 {0 Z( f6 j; K0 r
    6.3.2原子操作与C++11原子类型197
    0 {* D. `" R/ u0 W! `6.3.3内存模型,顺序一致性与memory_order203
    & D& \( e( @, S8 R- u7 h/ _$ w, Z6.4线程局部存储214
    4 b9 q$ v0 d, M) m6.5快速退出:quick_exit与at_quick_exit216
    9 _" X' b( p! t7 k$ u6.6本章小结219
    ; j7 N: c! U3 O: V第7章为改变思考方式而改变220) B' P: H+ f) n& J9 {; k
    7.1指针空值—nullptr220
    5 g, Q* U4 b8 x2 K4 m4 R! {# s7.1.1指针空值:从0到NULL,再到nullptr220# i0 Q# g! i& K% N% q
    7.1.2nullptr和nullptr_t223
    & _5 Q1 b0 s+ h9 ~: C7.1.3一些关于nullptr规则的讨论225$ Y2 Y$ J3 @- U( M! n
    7.2默认函数的控制2273 F1 f: {& f! @/ f
    7.2.1类与默认函数227
    7 @+ `' @" u  z/ \; N# V7.2.2“=default”与“=deleted”230
    0 n/ W. C4 [- w; O# {. r! I5 j& ?7.3lambda函数234
    * s. M) b7 f& ^! f- Z7.3.1lambda的一些历史234& t  B+ g$ l2 U, e3 S& K0 k
    7.3.2C++11中的lambda函数235  v4 p( ^; M) f2 O6 T
    7.3.3lambda与仿函数2385 F6 J; e( M# F7 X. a$ f! Q
    7.3.4lambda的基础使用240% D: S" ], Z0 v! }: X; l
    7.3.5关于lambda的一些问题及有趣的实验243+ a5 S% [! j, O( k; F8 G' [
    7.3.6lambda与STL247
    , k4 G  k# F! d8 o; o7.3.7更多的一些关于lambda的讨论254
    " j$ Q6 U5 z0 Y7 O* R- e$ w7.4本章小结256- k$ X5 ]$ P; ^* R5 B4 W8 F, Q
    第8章融入实际应用258. I: n4 P% [$ J: ~& D
    8.1对齐支持258
    7 k7 {8 {8 }7 M* v; c& J8.1.1数据对齐258
    , \" T" S; U4 h' r8.1.2C++11的alignof和alignas261, h' I0 k: Y' p4 M# h
    8.2通用属性267
    3 S: q8 W) A3 v) _5 M2 s8.2.1语言扩展到通用属性267
    % }& N4 Y% f  i' `8.2.2C++11的通用属性268
    5 y/ W* \3 l9 U2 D2 h8.2.3预定义的通用属性270+ C( I: t9 l5 w! A
    8.3Unicode支持274
    , d" E9 k! s' y5 H3 ?8.3.1字符集、编码和Unicode274/ m" y9 h3 H$ `1 O4 v. B
    8.3.2C++11中的Unicode支持276
    , j, t% L: K* ^, G* ^/ n: Y8.3.3关于Unicode的库支持280
    ! R9 E+ E: N9 E8.4原生字符串字面量2844 q2 ~; w- w) f
    8.5本章小结286/ p1 f& T6 G2 I. I! L6 `
    附录AC++11对其他标准的不兼容项目2876 w' ]6 [# R3 T/ `* I  i# q
    附录B弃用的特性294
    + w+ _6 Y# D9 c附录C编译器支持301
    + \/ B/ j9 u1 N1 ?附录D相关资源304
    & I6 q! w2 k9 C
    . w4 ^0 M$ c* @: D4 L' B

    5 t/ M: c& S8 y; \+ A封面
    0 J' t3 G7 z5 Y2 d$ P 1.jpg ; P  f% S) p- O1 `7 ?5 V
    8 |$ X( A$ [8 Q( X: v
    截图& n( W, u, w. }1 E3 d* G- Z
    2.jpg
    2 }* d  ~7 a7 y- f3 Y& b
    游客,如果您要查看本帖隐藏内容请回复
    + {0 _* @' I- [8 D( `* T- C

    " U  h: }( O* _6 a) v  }5 m( U
    ; G/ {& F: ^/ _* `$ q! m
    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-19 18:13 , Processed in 0.464330 second(s), 108 queries .

    回顶部