QQ登录

只需要一步,快速开始

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

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

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

377

主题

148

听众

5990

积分

升级  19.8%

  • 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 编辑
    . o6 ]5 ]$ h! P1 B8 ~1 l9 @3 e
    " {9 |: J3 p' K; F$ ]4 {* L/ u内容简介4 h# I# H, {/ x2 `
    深入理解C++11:C++11新特性解析与应用》内容简介:国内首本全面深入解读C++11新标准的专著,由C++标准委员会代表和IBM XL编译器中国开发团队共同撰写。不仅详细阐述了C++11标准的设计原则,而且系统地讲解了C++11新标准中的所有新语言特性、新标准库特性、对原有特性的改进,以及如何应用所有这些新特性。
    7 d( @& q, ~+ u9 T0 ~9 f& C3 l( T  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的相关资源。
    1 {6 k. s$ I! C: l# S, h4 J( m& g2 T# B) @9 o: b" W, `* |  M
    编辑推荐
    - _' f# H! J0 v, [" ^深入理解C++11:C++11新特性解析与应用》编辑推荐:C++标准委员会成员和IBM XL编译器中国开发团队共同撰写,权威性毋庸置疑。系统、深入、详尽地讲解了C++11新标准中的新语言特性、新标准库特性、对原有特性的改进,以及所有这些新特性的应用。
    3 P" K: ~& Y' j- T0 x, B- J/ b# K
    ! ]0 Y/ s7 k4 o% O0 q* `作者简介
    ' [; ~( T0 B$ w8 F- s9 ?$ |( c  d作者:(加拿大)Michael Wong IBM XL编译器中国开发团队; q' k' N6 r6 Z+ M

    / p8 Z( t4 [) ~( p" _- h# |Michael Wong,C++11标准委员会(WG21)委员,WG21加拿大代表团团长及IBM公司代表(投票人),WG21 SG5(transactional Memory study group)学习小组组长。除此之外,Michael还是OpenMP委员会的CEO,SCC(Standards Council of Canada)的副主席。
    - t0 I9 N8 d/ L3 |# b3 WMichael是多个C++11/OpenMP/STM新特性的合作编写者,活跃于各种技术会议,而且为Programming Committee of Boost以及IWOMP等国际会议服务。Michael也是IBM公司的高级技术专家,领导IBM XL C++编译器、XL C编译器的开发工作,当前致力于IBM编译器的C++11新特性部署。Michael在并行编程、C++基准测试、对象模型、泛型编程、模板元编程等多个技术领域均有涉猎,并且在对象模型以及事务内存等方面取得过多个专利。9 N1 a6 ~! V. H% x! R
    早年Michael于多伦多大学获取得了天体物理学的学士学位,并在滑铁卢大学获得了硕士学位。在加入IBM之前,Michael曾先后供职于大卫?邓禄普天文台(David Dunlap Observatory),CDC公司(Control Data Corporation),BMO Nesbitt Burns公司等。
      U7 t$ S3 l% H* r1 SIBM 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新特性的开发工作。% ~2 L' U9 h) J2 F" j9 i4 H

    ; }7 n/ L# e# U, G6 @, \: ~目录免责声明
    : ?2 ^' h% [5 t. R( F' `5 h1 z( O* f. N* J8 }% @4 Z! Y: m1 M
    前言+ `4 K& S4 A: h
    第1章新标准的诞生1
      D( k, z7 X% {2 I2 K' T1.1曙光:C++11标准的诞生1
    & u& q; x$ _* {1.1.1C++11/C++0x(以及C11/C1x)——新标准诞生1/ o* ?+ t  C$ M# [
    1.1.2什么是C++11/C++0x2' F. F2 H4 s4 P) i! U% D5 A
    1.1.3新C++语言的设计目标3
    & O+ x9 |7 d9 M" C1.2今时今日的C++5
    8 |4 [8 v: o# }1 a. v1.2.1C++的江湖地位5' S' B6 z: \$ A1 m0 m2 f# p) g
    1.2.2C++11语言变化的领域5( k, _5 p) Q8 R. W
    1.3C++11特性的分类7
    3 S, X' E/ B7 u6 K  m0 {& J  k1.4C++特性一览11
    $ b& ^. I! O) ?* C5 F% e1.4.1稳定性与兼容性之间的抉择11& |/ n+ g- E7 ^; r% h
    1.4.2更倾向于使用库而不是扩展语言来实现特性12
    ; b8 }& a& W. z" K6 b$ \; {0 h1.4.3更倾向于通用的而不是特殊的手段来实现特性13  R, c/ N/ w6 U. w7 ?4 [
    1.4.4专家新手一概支持13
    , X' S, V2 I  v) z5 p1.4.5增强类型的安全性14: a; U- z) o! A7 m4 F
    1.4.6与硬件紧密合作147 T+ L: x1 W& q5 {% z
    1.4.7开发能够改变人们思维方式的特性154 G9 \6 F2 p! e  t) f: v0 h
    1.4.8融入编程现实16
    & `& `5 o" L7 {; ~. U9 O1.5本书的约定174 k/ Q& A% Z7 q, |* z
    1.5.1关于一些术语的翻译17
    ! Q7 R+ l  ^7 r7 u1.5.2关于代码中的注释17) q' w- k9 U( H5 n
    1.5.3关于本书中的代码示例与实验平台18' T, F, g. m- f1 }, W' [- f2 p. t
    第2章保证稳定性和兼容性19
    0 e% h1 L1 E7 M  r+ j, e6 b$ K& }2.1保持与C99兼容190 W! \: P8 |+ O  |
    2.1.1预定义宏19
    ; f% b4 U4 V- N: n" c# N2 \2.1.2_func_预定义标识符20
    " f& T0 {9 I+ ~2.1.3_Pragma操作符22& |2 M! H9 H7 o$ n* ^6 t
    2.1.4变长参数的宏定义以及_VA_ARGS_22$ K( w6 V, |6 r7 r3 A# v9 o5 x8 C  ?
    2.1.5宽窄字符串的连接23
    4 S2 @' @/ Z' r! a2.2longlong整型23% k6 W2 F, T9 J: Q0 ]3 z
    2.3扩展的整型25* e3 Y" b7 w: V  c+ q
    2.4宏_cplusplus26! f, \# O+ }' ~( V4 P9 l$ G
    2.5静态断言274 D; o* \* F5 b$ J: x6 \7 |5 e  |
    2.5.1断言:运行时与预处理时271 c/ c2 V! ~7 M
    2.5.2静态断言与static_assert28
      }7 Z: j$ f( ?2 y, {2.6noexcept修饰符与noexcept操作符32* m2 S; c! Z6 e: |! A; o
    2.7快速初始化成员变量364 {1 W) p. [) S. j: w
    2.8非静态成员的sizeof393 S% P# \# f9 g1 r
    2.9扩展的friend语法40  w+ ^) Z/ l( G3 U
    2.10final/override控制443 P' v( L  {# a: `% \
    2.11模板函数的默认模板参数48
    - o6 i7 |! [/ s2.12外部模板50# k  O$ _- l$ T6 D' w2 [, ?- `8 S
    2.12.1为什么需要外部模板50
    ; Q3 ?. h2 T9 p2.12.2显式的实例化与外部模板的声明52. l  _8 B0 r) W" E& b: @
    2.13局部和匿名类型作模板实参54
    : {- ^) h" g! n" \' T; [+ E2.14本章小结559 \1 K( ^! z+ W* S2 D: n! g& n, x
    第3章通用为本,专用为末57
    , O1 w1 H* f! q9 H! z* \3.1继承构造函数57
    8 J" s. q6 c. ^3.2委派构造函数62
    # |/ }! M: H! _6 h3.3右值引用:移动语义和完美转发68
    ' F# e8 R5 P. Z$ O  J4 u9 f3.3.1指针成员与拷贝构造68# ]* d0 I6 U) Q# k
    3.3.2移动语义69$ [" X% t3 G" d' b; Z7 P
    3.3.3左值、右值与右值引用75
    $ b6 i  C  h9 r' D% t# g: X2 v  m3.3.4std:move:强制转化为右值80
    " [3 u+ W# e6 j3.3.5移动语义的一些其他问题82  s: e; p( m6 K
    3.3.6完美转发851 i0 x) t4 C1 C6 h1 w3 D3 `1 r
    3.4显式转换操作符89
    . Q) L0 n% O: O! z3.5列表初始化92
    3 ^- n" p$ y5 |% y7 I3.5.1初始化列表92& b8 @9 [$ q8 V+ w
    3.5.2防止类型收窄962 i  N5 F" N- z# p$ j; p
    3.6POD类型98
    4 j6 c2 l, E) E" g6 b3.7非受限联合体106
    * ]0 v, X3 G1 T3.8用户自定义字面量110
    $ i1 S" \/ N8 n3 B! o3.9内联名字空间113
    % U- ]" W: \6 z- Z3.10模板的别名1181 v/ D3 d; H6 x# z
    3.11一般化的SFINEA规则1195 O. O) e6 g- a; A* _1 D$ \
    3.12本章小结121  Q; y; d/ J# E( J
    第4章新手易学,老兵易用123
    1 X# N" B: R: E& o4.1右尖括号>的改进123" Z) M5 @" n4 C
    4.2auto类型推导124; A& s0 x$ H3 A+ M$ |$ e
    4.2.1静态类型、动态类型与类型推导1242 ~: q# n- j4 z2 }1 v4 [' B8 D
    4.2.2auto的优势126
    # h- B5 T9 s( a7 H! G. Q5 S( ^4.2.3auto的使用细则130, n, ^. Y6 B' [0 M# X  \
    4.3decltype134! ~* B' N2 F4 _& H% c* D- R
    4.3.1typeid与decltype134
    % J) |; {. p% ?. Y7 B4.3.2decltype的应用136& ~# M/ D/ r+ y: t- O
    4.3.3decltype推导四规则1404 x4 I( C' S3 L. X6 i* C
    4.3.4cv限制符的继承与冗余的符号143
    , I# k: a  z& |3 M4.4追踪返回类型145
    2 S7 V6 A* k9 _4.4.1追踪返回类型的引入145( s0 e- c# R8 l6 S  K) F
    4.4.2使用追踪返回类型的函数146
    & D8 c$ T4 b% I* C; i9 e3 x4.5基于范围的for循环1504 W& V4 M) N( o( v/ {
    4.6本章小结153
    6 T. }0 N+ }' W5 j7 N第5章提高类型安全155
    0 V  k# j( q; J' }: b5.1强类型枚举1556 n4 u( V. u2 g3 \! O
    5.1.1枚举:分门别类与数值的名字1555 u% j1 ]0 c' r$ w
    5.1.2有缺陷的枚举类型1560 [5 Q/ c0 g7 f+ R# V0 ~& e! M8 e0 [
    5.1.3强类型枚举以及C++11对原有枚举类型的扩展160) e! G+ n2 K5 E
    5.2堆内存管理:智能指针与垃圾回收163
    : k" K4 F+ _/ U$ ]! B7 E5.2.1显式内存管理163# I+ d8 v  ~0 v7 Q6 i& d4 {$ k
    5.2.2C++11的智能指针164
    ( a7 @6 V* O" c- m8 @: O- e0 \5.2.3垃圾回收的分类167
    & u) J  p3 V# ?$ T* U. \% k# ?- j5.2.4C++与垃圾回收169* n( b* c2 l" i( b1 J- G
    5.2.5C++11与最小垃圾回收支持170
      \  v  r. ^3 y8 Q5.2.6垃圾回收的兼容性1726 A) Y$ q( K& P: l( Q
    5.3本章小结173
    , x) q% f% b/ n: y! x第6章提高性能及操作硬件的能力174
    * r/ `6 z% E! v& T( T2 N6.1常量表达式174
    4 p, s: l" I* {- Q$ T1 \6.1.1运行时常量性与编译时常量性174+ o3 @6 S$ B& ~/ r5 Q- l8 o0 @
    6.1.2常量表达式函数1762 J( g$ I4 r$ H. G( m) f7 r  j
    6.1.3常量表达式值178& v( ]2 v9 i3 R
    6.1.4常量表达式的其他应用180+ k6 W" A6 _" m" ^; q4 E6 @. H9 W
    6.2变长模板183% L7 y0 Q8 p9 r0 A. b
    6.2.1变长函数和变长的模板参数183/ S, Y  I1 D4 C- S, W( i% X7 p
    6.2.2变长模板:模板参数包和函数参数包185
    % g8 q/ V3 v. d' `0 [6.2.3变长模板:进阶189
    ( q. {/ V2 f8 z7 m6.3原子类型与原子操作196) S. A, i) o) ?: s& u3 ~
    6.3.1并行编程、多线程与C++11196
    - [- y, e9 a0 Y9 S, b1 y6.3.2原子操作与C++11原子类型197
    " o0 e/ q$ T5 }7 Y5 @2 ?" L6 n6.3.3内存模型,顺序一致性与memory_order203
    $ g/ B+ E- U2 Q+ ]6 a6.4线程局部存储2147 _9 j1 |  v. d2 X8 x  E4 R. Q
    6.5快速退出:quick_exit与at_quick_exit2169 f+ n, X$ I0 ^0 s; }6 O
    6.6本章小结219
    6 u6 {0 ?5 Z/ c  W$ y第7章为改变思考方式而改变220& S4 }( r, I# Q* k
    7.1指针空值—nullptr220/ b; j# H4 @' H0 p4 o
    7.1.1指针空值:从0到NULL,再到nullptr220, ~" F' s9 b% R) K/ G" K* p( B
    7.1.2nullptr和nullptr_t223: S; A3 s, B. f: P
    7.1.3一些关于nullptr规则的讨论225
    6 i' o/ G6 v/ D# ~9 j' j7.2默认函数的控制227$ {9 f7 D1 v; y
    7.2.1类与默认函数227' I9 g7 L3 @; v" M2 a& Y
    7.2.2“=default”与“=deleted”230" ~( D8 a! `- L' B, S0 h! z  n. U7 {
    7.3lambda函数234
    6 L" [5 Q3 K2 E6 x3 ]) K1 N7.3.1lambda的一些历史234% O$ y& H/ T. c1 m* M
    7.3.2C++11中的lambda函数235* f0 u* Q. J! B) ], Z
    7.3.3lambda与仿函数238
    . i1 [( {: D! Y7.3.4lambda的基础使用2403 ]$ m5 G9 W7 D8 L
    7.3.5关于lambda的一些问题及有趣的实验243
    4 O3 }5 `% |  p0 f. e7.3.6lambda与STL247
    6 ^. \0 g2 h: r& N9 \) x+ H* ?7.3.7更多的一些关于lambda的讨论254
    , i7 }$ C" g) B5 S* W9 ?7.4本章小结256( V& y3 C4 S! p" w
    第8章融入实际应用258
    $ Z: z# {/ E* s4 }2 O7 q# `8.1对齐支持258) v) W$ C! g, d0 T# n  ]# d
    8.1.1数据对齐258/ U; A. K9 J4 o, H5 U: v) e" B/ u
    8.1.2C++11的alignof和alignas261
    " ]/ ~1 X$ ^6 i8 \8.2通用属性267- d  [+ J& d0 z. \' P$ C' |
    8.2.1语言扩展到通用属性267
    3 \' F  B6 D8 s+ l+ x# d8.2.2C++11的通用属性2688 @: X8 f! ]$ Z
    8.2.3预定义的通用属性270* f6 {- Q0 w8 ?! \! k, K
    8.3Unicode支持274' C& H+ p7 o$ m4 I+ v( N8 j2 o
    8.3.1字符集、编码和Unicode274
    3 _: ?8 R( a1 M# K$ F6 ~8.3.2C++11中的Unicode支持276- y: Q4 v" K% X  m0 n  C0 Y
    8.3.3关于Unicode的库支持280- [  O/ H" |1 y/ \
    8.4原生字符串字面量284- w1 G& P. t+ U2 A" U
    8.5本章小结286
    1 D3 I( e! t( _9 K' A; U! h; P附录AC++11对其他标准的不兼容项目287
    3 Q7 X& ^% W8 ]3 H5 ^& m附录B弃用的特性294
    3 T* @4 J9 P$ v) |, L0 V$ [附录C编译器支持3010 ]$ T) u2 E3 |0 A; n7 P
    附录D相关资源304
    9 ?8 `" w$ b" y* V) {: B( v
    ( ]! c) ^1 E; @# N( k( o
    2 R3 {9 s( S* O% G# @! i9 F' H, l
    封面: N+ h( q0 p/ {+ `2 n! K
    1.jpg 3 q. H  v& L2 ]# j7 W' X
    ' V% e  k' c& L: ^' f
    截图) x( H4 E) T' ]( `& @
    2.jpg
    # p% `+ ?% D+ x  y/ Z/ n0 z& r% u; t
    游客,如果您要查看本帖隐藏内容请回复

    - u- M+ ^+ o5 r! v& ^/ v* w0 ^* H/ Y2 D9 ?, W: ?3 _2 e8 @
    / ^5 q/ C8 X+ S
    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-6-3 13:21 , Processed in 0.510405 second(s), 108 queries .

    回顶部