書誌事項

A tour of C++

Bjarne Stroustrup

(The C++ in-depth series / editor, Bjarne Stroustrup)

Addison-Wesley, c2023

3rd ed

  • : pbk

並立書誌 全1

大学図書館所蔵 件 / 3

この図書・雑誌をさがす

注記

"Updated for C++20"--On cover

Includes bibliographical references and index

内容説明・目次

内容説明

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.

目次

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

「Nielsen BookData」 より

関連文献: 1件中  1-1を表示

詳細情報

ページトップへ