CPP C++ Papyrus
C++ - CPP
Quick Access
- Standard Library Map
- Standard Library IO - Input and Output
- Preprocessor and macros
- C and C++ Libraries Bookmarks
- Compiler flags and options
- https://devdocs.io/
- => DevDocs - Quickreference documentation of APIs of multiple
programming languages, including, C, C++, Rust, DLang,
JavaScript, Java, Typescript. C# (CSharp), GO (Golang),
Core C++
- Technology Landscape and Usage of C++
- Understanding C++ (C++ in-depth)
- 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.
- Passing C++ Lambdas to C function-pointer callbacks
- Standard Library Map
- Hyperlinks to the C++ standard library and C++ ISO standard
documentation categorized by common functionality.
- STL Iterators and Algorithms
- Standard Library IO - Input and Output
- C++17 and C++20 - new features and containers
- Template Metaprogramming
- also known as generic programming.
- Preprocessor and macros
- Math and numerical computing
- Multithreading and concurrency
- Design Patterns
- Object Oriented Design Patterns + Generic Programming Design
Patterns + Functional Programming.
- General Programming Reference Card
Libraries and frameworks
- Standard Library Map
- Hyperlinks to the C++ standard library and C++ ISO standard
documentation categorized by common functionality.
- Boost Libraries / Boost Framework
- Boost Libraries (note: Boost libraries are regarded as a
complement of the C++ standard library and many of its
components come from Boost libraries.)
- C++ Libraries Review / Lightweight libraries
- C and C++ Libraries Bookmarks
- Bookmarks of C++ libraries and frameworks for many domains,
including: general C++ programming; system programming; embedded
systems; physics, engineering and numerical computing.
- Embedded Scripting Languages
- Survey of small and lightweight programming languages
available as libraries that can be embedded in C++
application for adding scripting capabilities.
System Programming
- Linux and Unix system programming in C++
- System programming on Unix-like operating system with focus on Linux.
- 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.
C and C++ Tooling
Building Systems and package managers
- Compiler flags and options
- Reference card for C++ compiler options. GCC, Clang and
MSVC(VC++) compilers.
- Cmake Building System
- Coverage of CMake building system. One of the most used building
system and with the best cross-platform support.
- Other building systems
- Coverage of C++ most used building systems such as GNU-Make and
so on.
- Package Managers
General
- Tooling
- Compilation of several development tools for C and C++.
- 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.
Computer Graphics
- Computer Graphics
- Basics of computer graphics programming and math focused on OpenGL API.
Miscellaneous
- 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.
- 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.
- C Wrapper for C++ Libraries and Interoperability
- Presents how to create C wrappers for calling C++ libraries
from C and other programming languages via FFI - Foreign
Function Interface. This note provides a sample C wrapper for QT-5
Widgets GUI library that allows calling QT from C, Julia
language and D language. The techniques used in this particular
case can be reused for interoperability between many other C++
libraries and programming languages.
- 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 (Resource compilation)
- About how to embed resources, assets, images, texts and binary
files into executables.
- Sample programs in modern C++ style
- Complete small C++ programs and proof-of-concepts.
- Rosetta Stone - English/Portuguese - Technical Terminology
- Intended as reference about English technical terminology for
Portuguese speakers. (Note: This text database has more 1.5
megabyte, what can be heavy for phone users)
Bookmarks
- Bookmarks
- Bookmarks, tools, online tools, conference videos and so on.
- Videos and Conferences
This Document
This Repository
- https://github.com/caiorss/C-Cpp-Notes
This Site
- https://caiorss.github.io/C-Cpp-Notes/
Notes
- This document can also be viewed from Smart Phones, Tablets or any
other small screen devices.
- To open a link (a.k.a hyperlink) in a new tab, hold CTRL key and
click at the linl.
- The HTML version of this document was tested on web browsers:
Firefox, Chrome, Chromium, Microsoft Edge. Unfortunately the html
version still does not work well on Safari web browser.