Stroustrup氏の回答2:構成は言語の機能ではなく、テクニックに基づいて決めた
Here is an explanation of the structure of the book:
This book consists of four parts and a collection of appendices:Part I "The basics" presents the fundamental concepts and techniques of programming together with the C++ language and library facilities needed to get started writing code. This includes the type system, arithmetic operations, control structures, error handling, and the design, implementation, and use of functions and user-defined types.Part II "Input and output" describes how to get numeric and text data from the keyboard and from files, and how to produce corresponding output to the screen and to files. Then, it shows how to present numeric data, text, and geometric shapes as graphical output, and how to get input into a program from a graphical user interface (GUI).Part III "Data and algorithms" focuses on the C++ standard library's containers and algorithms framework (the STL). It shows how containers (such as vector, list, and map) are implemented (using pointers, arrays, dynamic memory, exceptions and templates) and used. It also demonstrates the use of standard library algorithms (such as sort, find, and inner_product).Part IV "Broadening the view" offers a perspective on programming through a discussion of ideals and history, through examples (such as matrix computation, text manipulation, testing, and embedded systems programming), and through a brief description of the C language.Appendices provide useful information that doesn't fit into a tutorial presentation, such as surveys of C++ language and standard library facilities, and descriptions of how to get started with an integrated development environment (IDE) and a graphical user interface (GUI) library.
本書の構成は次のようになっています:

The order of topics is determined by programming techniques, rather than programming language features.
I characterize my approach as "depth-first." It is also "concrete-first" and "concept-based." Part I resembles a traditional course except that it moves very fast and use higher-level types, such as string and vector right from the start, rather than being constrained by the built-in types. By the end of Part I, the students can use and write simple classes. Part II is where object-oriented programming (uses of inheritance) comes into the picture and Part III is heavily influenced by generic programming. Part III is also where pointers and free store enter the picture.
トピックの出現順は、プログラミング言語機能ではなくプログラミングテクニックにより決定されています。
私は本書で採用したアプローチの特徴を”depth-first”と呼んでいます。また、”concrete-first”や”concept-based”と呼ぶこともあります。
第1部の内容は、従来の書籍構成に類似していますが、説明テンポを速くし、内蔵(ビルトイン)型に加え、かなり早期の段階から文字列やベクタなどの高度な型が登場します。第1部を終了する頃までには、読者は単純なクラスを定義し、活用できるようになります。第2部は、オブジェクト指向(クラス階層)概念を取り上げています。第3部は、ジェネリックプログラミング(GP)の解説を中心に、ポインタとフリーストアを概観します。
