Tour of C++, A

Specificaties
E-book, blz. | Engels
Pearson Education | e druk, 2022
ISBN13: 9780136823544
Rubricering
Juridisch :
Pearson Education e druk, 2022 9780136823544
Verwachte levertijd ongeveer 9 werkdagen

Samenvatting

In A Tour of C++, Third Edition, Bjarne Stroustrup provides an overview of ISO C++, C++20, that aims to give experienced programmers a clear understanding of what constitutes modern C++. Featuring carefully crafted examples and practical help in getting started, this revised and updated edition concisely covers most major language features and the major standard-library components needed for effective use.

Stroustrup presents C++ features in the context of the programming styles they support, such as object-oriented and generic programming. His tour is remarkably comprehensive. Coverage begins with the basics, then ranges widely through more advanced topics, emphasizing newer language features. This edition covers many features that are new in C++20 as implemented by major C++ suppliers, including modules, concepts, coroutines, and ranges. It even introduces some library components in current use that are not scheduled for inclusion in the standard until C++23.

This authoritative guide does not aim to teach you how to program (for that, see Stroustrup's Programming: Principles and Practice Using C++, Second Edition), nor will it be the only resource you'll need for C++ mastery (for that, see Stroustrup's The C++ Programming Language, Fourth Edition, and recommended online sources). If, however, you are a C or C++ programmer wanting greater familiarity with the current C++ language, or a programmer versed in another language wishing to gain an accurate picture of the nature and benefits of modern C++, you won't find a shorter or simpler introduction.

Specificaties

ISBN13:9780136823544
Taal:Engels
Bindwijze:e-book

Inhoudsopgave

<p>Preface xi</p> <p><strong>Chapter 1: The Basics 1</strong><br>1.1 Introduction 1<br>1.2 Programs 2<br>1.3 Functions 4<br>1.4 Types, Variables, and Arithmetic 5<br>1.5 Scope and Lifetime 9<br>1.6 Constants 10<br>1.7 Pointers, Arrays, and References 11<br>1.8 Tests 14<br>1.9 Mapping to Hardware 16<br>1.10 Advice 19</p> <p><strong>Chapter 2: User-Defined Types 21</strong><br>2.1 Introduction 21<br>2.2 Structures 22<br>2.3 Classes 23<br>2.4 Enumerations 25<br>2.5 Unions 27<br>2.6 Advice 28</p> <p><strong>Chapter 3: Modularity 29</strong><br>3.1 Introduction 29<br>3.2 Separate Compilation 30<br>3.3 Namespaces 35<br>3.4 Function Arguments and Return Values 37<br>3.5 Advice 42</p> <p><strong>Chapter 4: Error Handling 43</strong><br>4.1 Introduction 43<br>4.2 Exceptions 44<br>4.3 Invariants 45<br>4.4 Error-Handling Alternatives 47<br>4.5 Assertions 48<br>4.6 Advice 51</p> <p><strong>Chapter 5: Classes 53</strong><br>5.1 Introduction 53<br>5.2 Concrete Types 54<br>5.3 Abstract Types 60<br>5.4 Virtual Functions 62<br>5.5 Class Hierarchies 63<br>5.6 Advice 69</p> <p><strong>Chapter 6: Essential Operations 71</strong><br>6.1 Introduction 71<br>6.2 Copy and Move 74<br>6.3 Resource Management 78<br>6.4 Operator Overloading 80<br>6.5 Conventional Operations 81<br>6.6 User-Defined Literals 84<br>6.7 Advice 85</p> <p><strong>Chapter 7: Templates 87</strong><br>7.1 Introduction 87<br>7.2 Parameterized Types 88<br>7.3 Parameterized Operations 93<br>7.4 Template Mechanisms 99<br>7.5 Advice 102</p> <p><strong>Chapter 8: Concepts and Generic Programming 103</strong><br>8.1 Introduction 103<br>8.2 Concepts 104<br>8.3 Generic Programming 112<br>8.4 Variadic Templates 114<br>8.5 Template Compilation Model 117<br>8.6 Advice 117</p> <p><strong>Chapter 9: Library Overview 119</strong><br>9.1 Introduction 119<br>9.2 Standard-Library Components 120<br>9.3 Standard-Library Organization 121<br>9.4 Advice 124</p> <p><strong>Chapter 10: Strings and Regular Expressions 125</strong><br>10.1 Introduction 125<br>10.2 Strings 125<br>10.3 String Views 128<br>10.4 Regular Expressions 130<br>10.5 Advice 136</p> <p><strong>Chapter 11: Input and Output 137</strong><br>11.1 Introduction 137<br>11.2 Output 138<br>11.3 Input 139<br>11.4 I/O State 141<br>11.5 I/O of User-Defined Types 141<br>11.6 Output Formatting 143<br>11.7 Streams 146<br>11.8 C-style I/O 149<br>11.9 File System 150<br>11.10 Advice 154</p> <p><strong>Chapter 12: Containers 157</strong><br>12.1 Introduction 157<br>12.2 vector 158<br>12.3 list 162<br>12.4 forward_list 164<br>12.5 map 164<br>12.6 unordered_map 165<br>12.7 Allocators 167<br>12.8 Container Overview 168<br>12.9 Advice 170</p> <p><strong>Chapter 13: Algorithms 173</strong><br>13.1 Introduction 173<br>13.2 Use of Iterators 175<br>13.3 Iterator Types 178<br>13.4 Use of Predicates 181<br>13.5 Algorithm Overview 181<br>13.6 Parallel Algorithms 183<br>13.7 Advice 183</p> <p><strong>Chapter 14: Ranges 185</strong><br>14.1 Introduction 185<br>14.2 Views 186<br>14.3 Generators 188<br>14.4 Pipelines 188<br>14.5 Concepts Overview 190<br>14.6 Advice 194</p> <p><strong>Chapter 15: Pointers and Containers 195</strong><br>15.1 Introduction 195<br>15.2 Pointers 196<br>15.3 Containers 201<br>15.4 Alternatives 208<br>15.5 Advice 212</p> <p><strong>Chapter 16: Utilities 213</strong><br>16.1 Introduction 213<br>16.2 Time 214<br>16.3 Function Adaption 216<br>16.4 Type Functions 217<br>16.5 source_location 222<br>16.6 move() and forward() 223<br>16.7 Bit Manipulation 224<br>16.8 Exiting a Program 225<br>16.9 Advice 225</p> <p><strong>Chapter 17: Numerics 227</strong><br>17.1 Introduction 227<br>17.2 Mathematical Functions 228<br>17.3 Numerical Algorithms 229<br>17.4 Complex Numbers 230<br>17.5 Random Numbers 231<br>17.6 Vector Arithmetic 233<br>17.7 Numeric Limits 234<br>17.8 Type Aliases 234<br>17.9 Mathematical Constants 234<br>17.10 Advice 235</p> <p><strong>Chapter 18: Concurrency 237</strong><br>18.1 Introduction 237<br>18.2 Tasks and threads 238<br>18.3 Sharing Data 241<br>18.4 Waiting for Events 243<br>18.5 Communicating Tasks 245<br>18.6 Coroutines 250<br>18.8 Advice 253</p> <p><strong>Chapter 19: History and Compatibility 255</strong><br>19.1 History 255<br>19.2 C++ Feature Evolution 263<br>19.3 C/C++ Compatibility 268<br>19.4 Bibliography 271<br>19.5 Advice 274</p> <p><strong>Appendix: Module std 277</strong><br>A.1 Introduction 277<br>A.2 Use What Your Implementation Offers 278<br>A.3 Use Headers 278<br>A.4 Make Your Own module std 278<br>A.5 Advice 279</p> <p>Index 281</p>

Net verschenen

Rubrieken

Populaire producten

    Personen

      Trefwoorden

        Tour of C++, A