CPP / C++ Notes - C++ Shrine
C++ - CPP
Core C++ - ISO/IEC 14882
- Understanding C++ (C++ in deep)
- Exploring C++ basic and advanced concepts and also modern C++ features with both small and reproducible C++ sample programs and interactive examples taken from the CERN’s ROOT/Cling REPL tool.
- STL Iterators and Algorithms
- STL IO - Input and Output
- C++17 new features and containers
- Template Metaprogramming
- also known as generic programming.
- Math and numerical computing
- Standard Library Map
- Hyperlinks to the C++ standard library and C++ ISO standard documentation categorized by common functionality.
- C++ and STL reference card
- Concise reference of C++ standard template library showing main methods, collections (aka containters) and type signatures.
- Design Patterns
- Object Oriented Design Patterns + Generic Programming Design Patterns + Functional Programming.
- Boost Libraries and Complementary libraries
- Set of peer-reviewed libraries regarded as an extension of the C++ standard library and the STL that provides many essential features missing in the standard library. Note: many of new C++ features came from Boost libraries.
- Compiler flags and options
- Reference card for C++ compiler options. GCC, Clang and MSVC(VC++) compilers.
- Building systems, build automation and package managers
- Coverage C++ building systems such as CMake, GNU-Make and so on. And also C++ package managers.
- C and C++ Debuggers Notes
- Notes about C and C++ debuggers. Covered: GDB (GNU Debugger) and WinDBG (Windows Debugger).
- Doxygen - Documentation Generator
- Doxygen documentation generator examples.
- CERN’s Root C++ REPL and CLING
- Notes about the CERN’s interactive interpereter based on Clang/LLVM for C++ where the user can type and evaluate C++ code, load libraries like shared libraries, boost libraries and and also test C++ with immediate feedback. ROOT is invaluable tool for learn, practicing C++ and create demonstrations.
- C++ Alternatives and mixed C++ development
- Mixed C++ development strategies and alternative programming languages to C++ with the following capabilities: native code compilation; high performance; static typing and ability to call C-APIs.
- Windows API Programming in C++
- C++ system programming for Win32/Win64 API. Note: The Windows API is not part of the ISO C++ Standard and is exclusive to this operating system.
- Shared Libraries - DLL - Binary Components in C++ / FFIs - Language Interoperability
- Creating shared libraries, C-interfaces or C-APIs for C++ functions and classes. A C-interface allows a C++ library to be consumed from C and many programming languages with foreign-function interface support such as Python (ctypes FFI), C# Pinvoke, Java (JNA) and so on.
- Interfacing C APIs and libraries
- Examples about how to interface and create wrappers to C APIs or libraries in modern C++ or C++ >= C++11 and use STL containers with C-APIs.
- Embed Resources into Executables
- Sample programs in modern C++ style
- Complete small C++ programs and proof-of-concepts.
- C and C++ Libraries
- Bookmarks of C++ libraries and frameworks for many domains, including: general C++ programming; system programming; embedded systems; physics, engineering and numerical computing.
- Bookmarks, tools, online tools, conference videos and so on.
- Videos and Conferences
Note: This document can also be viewed from Smart Phones, Tablets or any other small screen devices.