New articles, learning materials & improvements as of 2023-02-19.| hacking C++
New articles, learning materials & improvements as of 2022-11-20.| hacking C++
New articles, learning materials & improvements as of 2022-09-22.| hacking C++
New articles, learning materials & improvements as of 2022-07-26.| hacking C++
Over 700 videos for learning C++ organized by topics: conference talks by world-renowned experts, video tutorials, courses and explanations.| hacking C++
New articles, learning materials & improvements as of 2022-03-21.| hacking C++
New articles, learning materials & improvements as of 2022-03-11.| hacking C++
New articles, learning materials & improvements as of 2022-03-04.| hacking C++
New articles, learning materials & improvements as of 2022-02-25.| hacking C++
New articles, learning materials & improvements as of 2022-02-12.| hacking C++
New articles, learning materials & improvements as of 2022-01-28.| hacking C++
New articles, learning materials & improvements as of 2022-01-21.| hacking C++
New articles, learning materials & improvements as of 2022-01-14.| hacking C++
New articles, learning materials & improvements as of 2022-01-07.| hacking C++
New articles, learning materials & improvements as of 2021-12-10.| hacking C++
New articles, learning materials & improvements as of 2021-12-03.| hacking C++
New articles, learning materials & improvements as of 2021-11-12.| hacking C++
New articles, learning materials & improvements as of 2021-07-18.| hacking C++
New articles, learning materials & improvements as of 2021-07-07.| hacking C++
An opinionated list of C++ blogs in 2023 that are of good quality, useful to C++ learners and more or less regularly updated.| hacking C++
An opinionated list of popular package and dependency managers for C++ in 2023.| hacking C++
An opinionated list of popular build systems for C++ in 2023.| hacking C++
An opinionated list of testing frameworks and libraries for C++ in 2023.| hacking C++
Which function parameter types should be used for taking strings? Four different scenarios are shwon: 1) read-only access in C++17, 2) read-only access in C++98 to C++14, 3) when a copy of the input string is always needed inside the function, 4) in-place modification of the input string.| hacking C++
How to make a single random number generator object from a standard library random distribution and a random engine. Two solutions are presented: one using a mutable lambda and one using a custom function class.| hacking C++
How to handle exceptions, common usages, pitfalls and why exception guarantees are a critical part of designing C++ functions, types and libraries. How to use RAII to make code exception-safe and why you should never let exceptions escape from destructors.| hacking C++
Graphical overview of the C++ standard library (STL) algorithms that are based on iterator ranges. Great for professionals and beginners alike: quickly find the right algorithm for your use case and get an overview of what the standard library offers.| hacking C++
Overview of the standard values for the __cplusplus macro that can be used to detect the ISO C++ standard supported by the current compiler configuration.| hacking C++
A short summary with examples (in C++ and Python) explaining the meaning of the programming paradigms known as| hacking C++
Short overview of special purpose iterators for manipulating containers and streams in the C++ standard library.| hacking C++
A short introduction to pointers in C++. Syntax, semantics, 'const' pointers, 'this' pointer, forward declarations and some guidelines.| hacking C++
Overview (table with examples) of all C++ standard attributes as of March 2023: [[nodiscard]], [[fallthrough]], [[likely]], [[unlikely]], [[maybe_unused]], [[noreturn]], [[no_unique_address]], [[carries_dependency]]| hacking C++
An overview of the C++ tooling ecosystem: compilers, build systems, debuggers, sanitizers, analyzers, profilers, package managers and online tools.| hacking C++
C++'s Argument Dependent Lookup (ADL): what it does, how it works and common idioms involving ADL (2-step/fallback, hidden friends, niebloids, CPOs).| hacking C++
Visual overview of the C++20 standard library (STL) constrained algorithms that can take a single object as input range (as opposed to an iterator pair). Great for professionals and beginners alike: quickly find the right algorithm for your use case and get an overview of what the standard library offers.| hacking C++
Introduction, examples and visual explanations of numeric standard algorithms operating on (sub-)ranges.| hacking C++
Introduction, examples and visual explanations of standard algorithms for reordering elements in (sub-)ranges.| hacking C++
Introduction, examples and visual explanations of standard algorithms for finding elements in (sub-)ranges.| hacking C++
An opinionated list of the most important source control management tools in 2023.| hacking C++
The philosophy behind and how to implement comparison operations in C++ including C++20's| hacking C++
Learn about C++'s standard (STL) associative containers modeling sets, key-value maps and hash sets/maps.| hacking C++
An opinionated list of high quality podcasts dedicated to learning and using C++ in 2023.| hacking C++
How the 'friend' keyword can help to improve encapsulation control in C++ when it is used to selectively grant access to private (data) members.| hacking C++
A list of active C++ user groups all over the world as of 2023 grouped by continent(s): Asia/Oceania, Europe, Middle East, North America, South America.| hacking C++
Introduction, examples and visual explanations of standard algorithms for finding largest and smallest elements in (sub-)ranges.| hacking C++
Web resources (articles, videos, cheat sheets, e-books) for learning C++ programming, algorithms and development tools like versioning systems, editors and command line basics.| hacking C++
A list of the most popular and high quality C++ related conferences in 2023 all over the world: CppCon, Meeting C++, C++ Now, C++OnSea, Pacific++, emBO++, ...| hacking C++
Function objects can be 'called' like a function, if their type provides at least one member function overload of operator(). They can be used to inject custom behavior, e.g. into standard library algorithms.| hacking C++
Overview of C++'s standard sequence| hacking C++
An overview of containers in the C++ standard library (STL): sequential containers, associative containers (sets/maps) and special containers (tuples, optional, any, ...).| hacking C++
Destructors - one of the most important language constructs of C++ - allow to tie resource management to an object's lifetime (also known as RAII).| hacking C++
An opinionated list of useful and well-rounded VIM plugins as of 2023. Linting, commenting, fuzzy finding, mass editing, advanced text editing, UI enhancements, etc.| hacking C++
Shows the simplest way of forming data aggregates in C++. How to declare and use aggregate types and how objects are copied.| hacking C++
C++ references for beginners - properties, usage, guidelines, pitfalls: declaration, properties, const references, usage as function parameters, dangling, binding rules, etc.| hacking C++
Introduction, examples and visual explanations of standard algorithms for moving (sub-)ranges of elements.| hacking C++
Introduction, examples and visual explanations of standard algorithms for copying (sub-)ranges of elements.| hacking C++
Introduction, examples and visual explanations of standard algorithms for array-based max heap operations.| hacking C++
An opinionated list of popular performance and memory profiling tools for C++ in 2023.| hacking C++
A short introduction to enumeration types in C++. Also compares classic C-style enums and modern| hacking C++
The basics of C++ control flow constructs: conditions (if, else), loops (range-based, for, while, do-while) and switches.| hacking C++
An opinionated list of high quality online tools for programming C++ and understanding and diagnosing C++ programs in 2023.| hacking C++
A list of mature debuggers and C++ debugging-related tools in 2023.| hacking C++
An opinionated list of C++ code and runtime behavior analysis tools: static analyzers, sanitizers, etc in 2023.| hacking C++
Learn to write, compile, run and understand your first C++ program! Short explanations, recommended compiler flags and why one should never use| hacking C++
How to generate random number sequences that are either reproducible or non-predictable using the C++ standard library, i.e., how to seed standard random engines.| hacking C++
How to allocate (large) uninitialized numeric arrays / vectors without costly zero-initialization. The approaches presented vary in their degrees of convenience, safety and ISO standard support.| hacking C++
Basic techniques and tools for ensuring correctness: compiler warnings (gcc/clang/MSVC), assertions (assert/static_assert) and testing (with some doctest examples).| hacking C++
Introduction, examples and visual explanations of C++ standard library primitives for traversing and manipulating ranges of elements.| hacking C++
Overview of container traversal approaches in C++: range-based for loops, std::for_each, explicit iterator traversal, index traversal.| hacking C++
Introduction, examples and visual explanations of the basic principles behind C++ standard library algorithms.| hacking C++
Introduction, examples and visual explanations of standard algorithms for removing elements from (sub-)ranges.| hacking C++
Introduction, examples and visual explanations of standard algorithms for modifying (sub-)ranges of elements.| hacking C++
Introduction, examples and visual explanations of standard algorithms for querying value existence in (sub-)ranges.| hacking C++
A beginner level introduction to the way how function calls work in C++.| hacking C++
The basics of how to store and manipulate text (characters, strings) in C++.| hacking C++
Interface overview and guidelines for using C++'s 'default' container.| hacking C++
Introduction, examples and visual explanations of standard algorithms for inspecting and manipulating sorted sequences.| hacking C++
Introduction, examples and visual explanations of standard algorithms for comparing (sub-)ranges of elements.| hacking C++
A concise introduction and overview of modern C++ for people with a beginner-level programming background. Hierarchically organized chapters, short code examples, short explanations and infographics.| hacking C++