The Engineer's Guide to C++ =========================== .. image:: images/engineers-guide.png :width: 100.0% This book is intended as an introduction to C++ for engineers or researchers using the language to develop computational applications or workflows requiring a high-performance language. The target audience are existing users of Python, NumPy and Matplotlib. The book gives a thorough introduction to C++ covering both classic as well modern features of the language. The focus is on tools required to develop computational codes using established libraries for array computing (Eigen), user interface design (Qt) and visualization (VTK). The book also focuses a lot on complete examples of code that are ready to run. In addition, the course documentation is complemented with a complete source code tree on GitHub with all of the examples described in the course. Jonas Lindemann, 2025 .. note:: This book has been developed and refined with the assistance of AI language models, which helped modernize code examples to current C++ standards, improve explanations for clarity, and ensure consistency throughout the material. The use of AI has been particularly valuable in: - Updating examples to follow modern C++ best practices (C++11/14/17/20) - Refining explanations for scientists and engineers transitioning from Python/Fortran - Identifying areas where traditional teaching approaches could be improved - Ensuring consistent terminology and coding style All content, examples, and technical recommendations have been reviewed and validated for accuracy and alignment with current industry practices. .. note:: This online C++ book is a work in progress and not yet complete. Chapters will be added as they are written and implemented. .. toctree:: :maxdepth: 1 :hidden: :caption: Contents: history build_and_run language data_structures_algorithms input_output eigen oop qt concurrency mixed_language code_org debugging build_examples