In-depth understanding of new features and applications of C ++ 11: C ++ 11

Source: Internet
Author: User

In-depth understanding of new features and applications of C ++ 11: C ++ 11
Basic Information
By Michael Wong ibm xl compiler China Development Team
Series name: Original Series
Press: Machinery Industry Press
ISBN: 9787111426608
Mounting time:
Published on: February 1, June 2013
Start: 16
Page number: 1
Version: 1-1
Category: Computer> Software and programming> C ++

For more information, in-depth understanding of the new features and applications of C ++ 11: C ++ 11
Introduction
Computer books
Main content of "in-depth understanding of new features and applications of C ++ 11: C ++ 11": the first domestic monograph that comprehensively and deeply interprets new standards of C ++ 11, written by C ++ Standards Committee representatives and the ibm xl compiler China Development Team. It not only elaborated on the design principles of the C ++ 11 standard, it also systematically explains all new language features, new standard library features, improvements to the original features, and how to apply all these new features in the new C ++ 11 standard.
The book consists of eight chapters: Chapter 1st classifies all the features in the new C ++ 11 standard from two dimensions: design thinking and application scope, and presents the original features of C ++ 11; chapter 2 describes some new features added to ensure full compatibility with the C language and the old c ++ standard; chapter 2 describes some new features that are widely available and can be used with other existing or new features; chapter 2 explains how the new C ++ 11 standard improves some of the original language features. These features not only make C ++ more powerful, but also improve the efficiency of coding for programmers; chapter 2 describes the improvements made by C ++ 11 in terms of security, including Enumeration type security and pointer security; chapter 2 describes the new features designed to further improve and explore the performance of C ++ programs and make C ++ better adapt to the development of various new hardware, for example, new features in multi-core, multi-thread, and parallel programming; Chapter 7th describes some new features that subvert the consistent design concept of C ++, such as lambda expressions; chapter 2 illustrates how C ++ 11 makes effective improvements to solve various typical practical problems in C ++ programming, such as unicod E. The appendix introduces the compatibility and differences between the C ++ 11 standard and other related standards, the obsolete features in C ++ 11, and the support of the compiler for C ++ 11, and relevant resources for learning C ++ 11.
Directory
In-depth understanding of new features and applications of C ++ 11: C ++ 11
Disclaimer
Collation
Preface
Chapter 1 New Standard 1
1.1 sugon: the birth of the C ++ 11 standard 1
1.1.1 C ++ 11/C ++ 0x (and C11/c1x)-New Standard 1
1.1.2 what is C ++ 11/C ++ 0x2
1.1.3 new C ++ language design objective 3
1.2 today's c ++ 5
1.2.1 status of C ++ 5
1.2.2 C ++ 11 Language Change Field 5
1.3 Classification of C ++ 11 features 7
1.4 overview of C ++ features 11
1.4.1 choice between stability and compatibility 11
1.4.2 more inclined to use libraries than extended languages for feature 12
1.4.3 more generic than special means to implement features 13
1.4.4 expert support for novices 13
1.4.5 enhanced type security 14
1.4.6 close cooperation with hardware 14
. 1.4.7 development can change people's way of thinking 15
1.4.8 integration with programming reality 16
1.5 book conventions 17
1.5.1 translation of some terms 17
1.5.2 comments about code 17
1.5.3 code example and experiment platform in this book 18
Chapter 19 stability and compatibility 19
2.1 compatibility with c99 19
2.1.1 predefine macro 19
2.1.2 _ FUNC _ predefined identifier 20
2.1.3 _ Pragma operator 22
2.1.4 macro definition of variable length parameters and _ va_args _ 22
2.1.5 wide and narrow string connection 23
2.2 long integer 23
2.3 extended integer 25
2.4 macro _ cplusplus 26
2.5 static assertions 27
2.5.1 assertions: runtime and preprocessing 27
2.5.2 static assertions and static_assert 28
2.6 notest modifier and notest operator 32
2.7 fast initialization of member variable 36
2.8 sizeof 39 for non-static members
2.9 extended friend syntax 40
2.10 final/override control 44
2.11 default template parameters for template functions 48
2.12 external template 50
2.12.1 why external template 50
2.12.2 explicit instantiation and external template declaration 52
2.13 partial and anonymous template parameters 54
2.14 summary 55
Chapter 4 general purpose-oriented, dedicated for end 57
3.1 inherited constructors 57
3.2 Delegate constructor 62
3.3 reference of the right value: Mobile semantics and perfect forwarding 68
3.3.1 pointer member and copy construction 68
3.3.2 mobile semantics 69
3.3.3 reference the left, right, and right values 75
3.3.4 STD: Move: Force convert to right 80
3.3.5 other questions about mobile semantics 82
3.3.6 perfect forwarding 85
3.4 explicit conversion operator 89
3.5 list initialization 92
3.5.1 initialization list 92
3.5.2 prevent types from narrowing down 96
3.6 pod Type 98
3.7 unrestricted consortium 106
3.8 User-Defined literal volume: 110
3.9 inline namespace 113
3.10 template alias 118
3.11 General sfinea Rules 119
3.12 summary of this Chapter 121
Chapter 2 easy to learn and easy to use for veterans 4th
4.1 improvement of angle brackets 123
4.2 auto type derivation 124
4.2.1 static type, dynamic type and type derivation 124
4.2.2 advantages of AUTO: 126
4.2.3 auto usage Rules 130
4.3 decltype 134
4.3.1 typeid and decltype 134
4.3.2 application of decltype 136
4.3.3 decltype derivation rule 4 140
4.3.4 inheritance and redundancy of CV delimiters 143
4.4 trace return type 145
4.4.1 introduction of tracing return types 145
4.4.2 use a function of the tracing return type 146
4.5 range-based for loop 150
4.6 Summary of this Chapter 153
Chapter 4 Enhanced type security 5th
5.1 strong type enumeration 155
5.1.1 enumeration: name of the classification class and value 155
5.1.2 defective enumerated type 156
5.1.3 strong enumeration and C ++ 11 expansion of the original Enumeration type 160
5.2 heap memory management: smart pointer and garbage collection 163
5.2.1 explicit memory management 163
5.2.2 smart pointer 164 for C ++ 11
5.2.3 classification of garbage collection 167
5.2.4 C ++ and garbage collection 169
5.2.5 C ++ 11 and minimum garbage collection support 170
5.2.6 compatible with garbage collection 172
5.3 Summary of this Chapter 173
Chapter 4 Improving Performance and operating hardware 6th
6.1 constant expression 174
6.1.1 runtime QPS and compilation QPS 174
6.1.2 constant expression: function 176
6.1.3 constant expression value 178
6.1.4 other applications of constant expressions 180
6.2 variable-length template 183
6.2.1 variable-length functions and variable-length template parameters 183
6.2.2 variable-length template: Template parameter package and function parameter package 185
6.2.3 variable-length template: advanced version 189
6.3 atomic type and atomic operation 196
6.3.1 parallel programming, multithreading and C ++ 11 196
6.3.2 atomic operation and C ++ 11 atomic type 197
6.3.3 memory model, sequence consistency and memory_order 203
6.4 local thread storage 214
6.5 quick exit: quick_exit and at_quick_exit 216
6.6 Summary of this chapter 219
Chapter 1 changes the way of thinking 7th
7.1 pointer null value-nullptr 220
7.1.1 pointer NULL: from 0 to null, then to nullptr 220
7.1.2 nullptr and nullptr_t 223
7.1.3 some discussions on nullptr rules 225
7.2 default function control 227
7.2.1 classes and default functions 227
7.2.2 "= default" and "= deleted" 230
7.3 Lambda function 234
7.3.1 Lambda history 234
7.3.2 Lambda function 235 in C ++ 11
7.3.3 Lambda and function imitation 238
7.3.4 basic use of Lambda 240
7.3.5 some questions and interesting experiments on Lambda 243
7.3.6 Lambda and STL 247
7.3.7 more about Lambda 254
7.4 summary of this chapter 256
Chapter 1 practical application 8th
8.1 alignment supports 258
8.1.1 Data Alignment 258
8.1.2 alignof and alignas 261 of C ++ 11
8.2 general attributes 267
8.2.1 extend the language to general attributes 267
8.2.2 general attributes of C ++ 11: 268
8.2.3 predefined general attributes 270
8.3 Unicode support 274
8.3.1 Character Set, encoding, and Unicode 274
8.3.2 Unicode in C ++ 11 supports 276
8.3.3 Unicode libraries support 280
8.4 native string literal 284
8.5 summary of this chapter 286
Appendix a c ++ 11 incompatible projects with other standards 287
Appendix B discard features 294
Appendix C compiler support 301
Appendix D resources 304

Source of this book: Interactive publishing network

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.