tour_of_cpp_preface

A Tour of CPP Preface

Return to Tour of C++, 3rd Edition by Bjarne Stroustrup, C++ Fundamentals, C++ Bibliography - C++ People, C++, C++ DevOps - C++ SRE - C++ CI/CD, Cloud Native C++ - C++ Microservices - Serverless C++, C++ Security - C++ DevSecOps, Functional C++, C++ Concurrency, C++ Data Science - C++ and Databases, C++ Machine Learning, C++ Courses, C++ Glossary, Awesome C++, C++ GitHub, C++ Topics

Fair Use Source: B0B8S35JWV, (TrCppBS 2022)

Preface

“When you wish to instruct, be brief.” – Cicero

CPP feels like a new language. That is, I can express my ideas more clearly, more simply, and more directly today than I could in CPP98 or CPP11. Furthermore, the resulting programs are better checked by the CPP compiler and run faster.” (TrCppBS 2022)

“This book gives an overview of CPP as defined by CPP20, the current ISO CPP standard, and implemented by the major CPP suppliers. In addition, it mentions a couple CPP library components in current use, but not scheduled for inclusion into the CPP standard until CPP23.” (TrCppBS 2022)

“Like other modern languages, CPP is large and there are a large number of CPP libraries needed for CPP effective use. This thin book aims to give an experienced CPP programmer an idea of what constitutes modern CPP. It covers most major CPP language features and the major CPP standard-library components. This book can be read in just a day or two but, obviously, there is much more to writing good CPP than can be CPP learned in that amount of time. However, the aim here is not CPP mastery, but to give a CPP overview, to give key CPP examples, and to help a CPP programmer get started.” (TrCppBS 2022)

“The assumption is that you have programmed before. If not, please consider reading a CPP textbook, such as Programming - Principles and Practice Using CPP (Second edition) (Stroustrup,2014), before continuing here. Even if you have programmed before, the language you used or the applications you wrote may be very different from the style of CPP presented here.” (TrCppBS 2022)

“Think of a sightseeing tour of a city, such as Copenhagen or New York. In just a few hours, you are given a quick peek at the major attractions, told a few background stories, and given some suggestions about what to do next. You do not know the city after such a tour. You do not understand all you have seen and heard; some stories may sound strange or even implausible. You do not know how to navigate the formal and informal rules that govern life in the city. To really know a city, you have to live in it, often for years. However, with a bit of luck, you will have gained a bit of an overview, a notion of what is special about the city, and ideas of what might be of interest to you. After the tour, the real exploration can begin.” (TrCppBS 2022)

“This CPP tour presents the major CPP language features as they support CPP programming styles, such as CPP object-oriented and CPP generic programming. It does not attempt to provide a detailed, CPP reference-manual, CPP feature-by-feature view of the CPP language. In the best CPP textbook tradition, I try to explain a CPP feature before I use it, but that is not always possible and not everybody reads the text strictly sequentially. I assume some technical maturity from my readers. So, the reader is encouraged to use the cross references and the CPP index.” (TrCppBS 2022)

“Similarly, this CPP tour presents the CPP standard libraries in terms of CPP examples, rather than exhaustively. The reader is encouraged to search out additional and supporting material as needed. There is far more to the CPP ecosystem than just the facilities offered by CPP ISO standard (e.g., CPP libraries, CPP build systems, CPP analysis tools, and CPP development environments). There is an enormous amount of material (of varying quality) available on the Web. Most readers will find useful CPP tutorial and overview CPP videos from CPP conferences such as CppCon and Meeting CPP. For CPP technical details of the CPP language and CPP library offered by the ISO CPP standard, I recommend CppReference.com. For example, when I mention a CPP standard-library CPP function or CPP class, its CPP definition can easily be looked up, and by examining its CPP documentation, many related facilities can be found.” (TrCppBS 2022)

“This CPP tour presents CPP as an integrated whole, rather than as a layer cake. Consequently, I rarely identify CPP language features as present in C, CPP98, or later CPP ISO standards. Such information can be found in Chapter 19 (CPP History and Compatibility). I focus on CPP fundamentals and try to be brief, but I have not completely resisted the temptation to overrepresent novel CPP features, such as CPP modules (§3.2.2), CPP concepts (§8.2), and CPP coroutines (§18.6). Slightly favoring recent CPP developments also seems to satisfy the curiosity of many readers who already know some older version of CPP.” (TrCppBS 2022)

“A programming language reference manual or programming language standard simply states what can be done, but programmers are often more interested in learning how to use the language well. This aspect is partly addressed in the selection of CPP topics covered, partly in the text, and specifically in the CPP advice sections. More CPP advice about what constitutes good modern CPP can be found in the CPP Core Guidelines (Stroustrup,2015). The Core Guidelines can be a good source for further exploration of the ideas presented in this CPP book. You may note a remarkable similarity of the advice formulation and even the numbering of advice between the Core Guidelines and this book. One reason is that the first edition of A Tour of CPP was a major source of the initial Core Guidelines.” (TrCppBS 2022)

Acknowledgments

“Thanks to all who helped complete and correct the earlier editions of A Tour of CPP, especially to the students in my “Design Using CPP” course at Columbia University. Thanks to Morgan Stanley for giving me time to write this third edition. Thanks to Chuck Allison, Guy Davidson, Stephen Dewhurst, Kate Gregory, Danny Kalev, Gor Nishanov, and J.C. van Winkel for reviewing the book and suggesting many improvements.” (TrCppBS 2022)

“This book was set using troff by the author using macros originating from Brian Kernighan.” (TrCppBS 2022)

Manhattan, New York

Bjarne Stroustrup

Fair Use Sources

C++: C++ Fundamentals, C++ Inventor - C++ Language Designer: Bjarne Stroustrup in 1985; C++ Keywords, C++ Built-In Data Types, C++ Data Structures (CPP Containers) - C++ Algorithms, C++ Syntax, C++ OOP - C++ Design Patterns, Clean C++ - C++ Style Guide, C++ Best Practices ( C++ Core Guidelines (CG)) - C++ BDD, C++ Standards ( C++ 23, C++ 20, C++ 17, C++ 14, C++ 11, C++ 03, C++ 98), Bjarne Stroustrup's C++ Glossary, CppReference.com, CPlusPlus.com, ISOcpp.org, C++ Compilers (Compiler Explorer, MinGW), C++ IDEs, C++ Development Tools, C++ Linter, C++ Debugging, C++ Modules ( C++20), C++ Packages, C++ Package Manager ( Conan - the C/C++ Package Manager), C++ Standard Library, C++ Libraries, C++ Frameworks, C++ DevOps - C++ SRE, C++ CI/CD ( C++ Build Pipeline), C++ Data Science - C++ DataOps, C++ Machine Learning, C++ Deep Learning, Functional C++, C++ Concurrency, C++ History, C++ Topics, C++ Bibliography, Manning C++ Series, C++ Courses, CppCon, C++ Research, C++ GitHub, Written in C++, C++ Popularity, C++ Awesome , C++ Versions. (navbar_cplusplus – see also navbar_cpp_containers, navbar_cppcon, navbar_cpp_core_guidelines, navbar_cpp23, navbar_cpp20, navbar_cpp17, navbar_cpp14, navbar_cpp11)


Cloud Monk is Retired (for now). Buddha with you. © 2005 - 2024 Losang Jinpa or Fair Use. Disclaimers

SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.


tour_of_cpp_preface.txt · Last modified: 2022/10/19 18:42 by 127.0.0.1