Lecture Slides for Programming in C++ (Version 2019-02-04): The C++ Language, Libraries, Tools, and Other Topics

· Michael Adams
4,9
7 recenzí
E‑kniha
2516
Stránky
Vhodná

Podrobnosti o e‑knize

This document, which consists of approximately 2500 lecture slides, offers a wealth of information on many topics relevant to programming in C++, including coverage of the C++ language itself, the C++ standard library and a variety of other libraries, numerous software tools, and an assortment of other programming-related topics.  The coverage of the C++ language and standard library is current with the C++17 standard.

C++ PROGRAMMING LANGUAGE.  Many aspects of the C++ language are covered from introductory to more advanced.  This material includes: the preprocessor, language basics (objects, types, values, operators, expressions, control-flow constructs, functions, and namespaces), classes, templates (function, class, variable, and alias templates, variadic templates, template specialization, and SFINAE), lambda expressions, inheritance (run-time polymorphism and CRTP), exceptions (exception safety and RAII), smart pointers, memory management (new and delete operators and expressions, placement new, and allocators), rvalue references (move semantics and perfect forwarding), concurrency (memory models, and happens-before and synchronizes-with relationships), compile-time computation, and various other topics (e.g., copy elision and initialization).

C++ STANDARD LIBRARY AND VARIOUS OTHER LIBRARIES.  Various aspects of the C++ standard library are covered including: containers, iterators, algorithms, I/O streams, time measurement, and concurrency support (threads, mutexes, condition variables, promises and futures, atomics, and fences).  A number of Boost libraries are discussed, including the Intrusive, Iterator, and Container libraries.  The OpenGL library and GLSL are discussed at length, along with several related libraries, including: GLFW, GLUT, and GLM.  The CGAL library is also discussed in some detail.

SOFTWARE TOOLS.  A variety of software tools are discussed, including: static analysis tools (e.g., Clang Tidy and Clang Static Analyzer), code sanitizers (e.g., ASan, LSan, MSan, TSan, and UBSan), debugging and testing tools (e.g., Valgrind, LLVM XRay, and Catch2), performance analysis tools (e.g., Perf, PAPI, Gprof, and Valgrind/Callgrind), build tools (e.g., CMake and Make), version control systems (e.g., Git), code coverage analysis tools (e.g., Gcov, LLVM Cov, and Lcov), online C++ compilers (e.g., Compiler Explorer and C++ Insights), and code completion tools (e.g., YouCompleteMe, and LSP clients/servers).
 

Hodnocení a recenze

4,9
7 recenzí

Ohodnotit e‑knihu

Sdělte nám, co si myslíte.

Informace o čtení

Telefony a tablety
Nainstalujte si aplikaci Knihy Google Play pro AndroidiPad/iPhone. Aplikace se automaticky synchronizuje s vaším účtem a umožní vám číst v režimu online nebo offline, ať jste kdekoliv.
Notebooky a počítače
Audioknihy zakoupené na Google Play můžete poslouchat pomocí webového prohlížeče v počítači.
Čtečky a další zařízení
Pokud chcete číst knihy ve čtečkách elektronických knih, jako např. Kobo, je třeba soubor stáhnout a přenést do zařízení. Při přenášení souborů do podporovaných čteček elektronických knih postupujte podle podrobných pokynů v centru nápovědy.