C++ Links
Zur Navigation springen
Zur Suche springen
Concurrency
Exceptions and Transactional Operations
Containers
Tuples
Variants
- Polymorphism using variant
- Visiting variants using lambdas
- Polymorphism-polymorphism
- The two line visitor explained
- Functions of Variants are Covariant
Boost Multiindex
Misc
Regular Expressions
Iterators
Functional Programming
Coroutines
- It’s about inversion of control!, Pythagorean triples (ranges)
- Coroutines 1, 2, 3
- C++20 Coroutine: Under The Hood
- Accelerating Map Multi-Lookup with Coroutines
- Structured Concurrency
- C++20: A Coroutine Based Stream Parser
Types
- Strong typedefs
- strong_typedef by Anthony Williams
- ADL
- lvalues, rvalues, glvalues, prvalues, xvalues, help
- Create a new type when using std::variant
Concepts
Random
Metaprogramming
- Size of an array (another way)
- static_if
- Deep copy using a polymorphic wrapper
- A customizable framework
- Zero overhead currying
- Fundamental operations on type lists (1, 2)
- Turning C++ metaprogramming inside-out with boost::hana
CRTP
Covariance, Contravariance, Invariance
Lambdas
- Composing Lambdas in C++14 -- and Functions
- Capturing perfectly-forwarded objects in lambdas
- Fun with lambdas (part 1)
- Lambda story part 1
Methods / Patterns
- The power of hidden friends
- C++ Special Member Function Guidelines
- C++ Named Arguments
- The Pimpl Pattern - what you should know
- It all comes down to respecting levels of abstraction
- The expression problem
- typestates for expressive code
- Simultaneous comparisons via private inheritance from tuple
- SOLID Principles in modern C++
- The toggle builder
- Better than singletons: The service locator pattern
- Most constructors should be explicit
- Constrain your user-defined conversions
Pointers and References
- std::ref and std::reference_wrapper: common use cases
- Move Semantics Part 2
- C++23’s Deducing this: what it is, why it is, how to use it
- The Power of Ref-qualifiers
Optimization, constexpr
- OutOfLine: Reduce cache misses by reducing size of class
- GCC attribute pure
- We don’t need no stinking expression templates
- constexpr vector and string in C++20 and One Big Limitation
- Compile Time Code Generation and Optimization