Year: 2023
Type: report
Abstract: Respectable C++ 0:00 1. C++ has become popular for scientific computing because it allows abstraction and performance to be combined.However, it is not a simple language, and it is common in the sciences to have merely "incidental" contact with it.This lecture aims to bridge the gap between such cursory familiarity and effective use of the language, touching on a variety of topics that are covered poorly if at all by typical introductions to the subject.Those topics include language-design principles, common semantic problems, the distinction between values and objects, translation units, initialization, class design, templates, portions of interest of the standard library, and practical external tools.Awareness of subjects for further study is prioritized over detailed description of advanced features, especially for the standard library.Very basic understanding of the syntax of C++ is assumed, but alternatively experience with C, Python, or Java should suffice.2. Nota bene: the book was bad advice.Commentary 1 ▶ Examples in 65 × 19 "terminal" ▶ minimal whitespace ▶ namespaces and niceties like constexpr often omitted ▶ implied global variables to politely ignore 2 ▶ Most code shouldn't be using std::cout and std::cin directly anyway
DOI: 10.2172/1990082
Author: Stuart Herring
Institution: Los Alamos National Laboratory
Language: English
Subfield: Software
Field: Computer Science
Domain: Physical Sciences
Open Access status: green
Awards: G1017065088, G1279347439, G6410514744
OpenAlex ID: W4384896765
