| | | |
Titel | Inhalt | Sourcecode | Datum |
Die Elf spielt auf |
Lambda-Funktionen I |
Listing 1 Listing 2 Listing 3 |
12/2011 |
Kurz und knackig |
Lambda-Funktionen II |
Listing 1 Listing 2 Listing 3 Listing 4 Listing 5 |
02/2012 |
Mehrgleisig unterwegs |
Multithreading I |
dotProduct.cpp dotProductPara.cpp |
04/2012 |
Gemeinsam ins Ziel |
Multithreading II |
join.cpp forgetJoin.cpp bossWorker.cpp bossWorkerMutex.cpp bossWorkerLockGuard.cpp bossWorkerUniqueLock.cpp |
06/2012 |
Im Gleichtakt |
Multithreading III |
boss2WorkerCondVar.cpp boss2WorkerLock.cpp bossWorker.cpp bossWorkerBlock.cpp |
08/2012 |
Alle im Einklang |
Multithreading IV |
bossWorkerPrototype.cpp bossWorkerFutures.cpp |
10/2012 |
Rasch verschoben |
Rvalue Referenzen |
bigArray.cpp bigArrayCopy.cpp bigArrayTime.cpp bigArrayCopyTime.cpp perfectForwarding.cpp |
12/2012 |
Räumkommando |
unique_ptr |
autoPtr.cpp resourceGuard.cpp uniquePtr.cpp |
02/2013 |
Klug aufgeräumt |
shared_ptr |
Listing 1 Listing 2 Listing 3 Listing 4 |
04/2013 |
Zähl mich! |
Reguläre Ausdrücke I |
Listing |
06/2013 |
Starke Ausdrücke |
Reguläre Ausdrücke II |
allEmails.cpp match.cpp search.cpp |
08/2013 |
Suchen und ersetzen |
Reguläre Ausdrücke III |
anonymizeIPs.cpp anonymizePartiallyIPs.cpp formateDate.cpp replaceDoubles.cpp |
10/2013 |
Geschwindigkeit zählt |
Hashtabellen |
mapHash.cpp mapHashCompare.cpp |
12/2013 |
Neue Ausdruckskraft |
auto, decltype und die Range-basierte For-Schleife |
auto.cpp out.cpp out3.cpp rangeBasedForLoop.cpp |
02/2014 |
C++11 + 3 = C++14 |
C++14 |
automaticReturn.cpp lambda.cpp literal.cpp readerWriter.cpp |
04/2014 |
Der Vertrag |
Das Memory-Modell |
syncAtomic.cpp syncAtomicAcquireRelease.cpp syncAtomicRelaxed.cpp syncMutex.cpp withoutSync.cpp |
06/2014 |
Automatik mit Methode |
default, delete, override und final |
default.cpp defaultDelete.cpp final.cpp virtualFunctionsOverride.cpp |
08/2014 |
Schönes Objekt |
Direkte Initialisierung
Sequenzkonstruktor, Delegation und Vererbung von Konstruktoren
|
sequenceConstructor.cpp directInitialization.cpp delegationConstructor.cpp inheritingConstructor.cpp |
10/2014 |
Kurs zum Mars |
Raw-String- und benutzerdefinierte Literale
|
Raw-String-Literale Benutzerdefinierte Literale
|
12/2014 |
Für vorsichtige Raser |
Type-Traits
|
Listing 1 Listing 2 Listing 3 Listing 4
|
04/2015 |
Konstante Magie |
constexpr
|
Listing 1 Listing 2 Listing 3
|
06/2015 |
Punktlandung |
Variadic Templates ...
|
Listing 1 Listing 2 Listing 3 Listing 4
|
08/2015 |
Containerverwaltung |
Neue Algorithmen für Container
|
allAnyNoneOfMap.cpp allAnyNoneOfVec.cpp emplace.cpp shrinkToFit.cpp
|
10/2015 |
Der Reihe nach verpackt |
std::array, std::tuple und std::forward_list
|
Listing 1 Listing 2 Listing 3 Listing 4
|
12/2015 |
Doppelte Packung |
Referenz-Wrapper |
Listing 1 Listing 2 Listing 3
|
02/2016 |
Die Zeit verstehen |
Die Zeit Bibliothek I |
Listing 1 Listing 2 Listing 3 Listing 4
|
04/2016 |
Pünktlich verschlafen |
Die Zeit Bibliothek II |
Listing 1
|
06/2016 |
Zukunftsmusik |
C++17 I |
Listing 1 Listing 2 Listing 3
|
08/2016 |
Bibliotheks-Karriere |
C++17 II |
Listing 1 Listing 2 Listing 3 Listing 4 Listing 5
|
10/2016 |
Von der Theorie zu Praxis |
Wie setzt der Programmierer die Feature von modernem C++ richtig ein? |
|
12/2016 |
Deliquente Typen |
Vermeide implizite Typkonvertierungen |
Listing 1 Listing 2 Listing 3 Listing 4 Listing 5 Listing 6 Listing 7 Listing 8 Listing 9
|
02/2017 |
Programmiere deklarativ |
Programmiere deklarativ |
Listing 1 Listing 2 Listing 3 Listing 4 Listing 5 |
04/2017 |
Selbstoptimiert |
Unterstütze automatische Optimierung |
Listing 1 Listing 2 Listing 3 |
06/2017 |
Compiler first |
Sei nicht schlauer als der Compiler |
Listing 1 Listing 2 Listing 3 |
08/2017 |
Crash nach Flash |
Behalte das große Bild im Auge |
Listing 1 Listing 2 Listing 3 Listing 4 Listing 5 Listing 6
|
10/2017 |
Kein Verlass |
Vermeide undefiniertes Verhalten |
Sourcecode |
12/2017 |
Schöne Lektüre |
Achte auf die Lesbarkeit des Codes |
Sourcecode |
02/2018 |
Von allen guten Geistern |
Lasse dir helfen |
Sourcecode |
04/2018 |
Schicke Bibliotheken |
Kenne deine Bibliotheken |
Sourcecode |
06/2018 |
Strebe nach Einfachheit |
Strebe nach Einfachheit |
Soucecode |
08/2018 |
Richtlinien-Kompetenz |
MISRA C++, Autosar C++14 und die C++ Core Guidelines |
|
10/2018 |
Goldene Erkenntniss |
Die C++ Core Guidelines |
Sourcecode |
12/2018 |
Gut verträglich |
Interfaces |
Sourcecode |
02/2019 |
Das gewisse Extra |
Die Guidelines Support Library (GSL) |
Sourcecode |
04/2019 |
In Portionen |
Funktionen |
Sourcecode |
06/2019 |
Fein abgeschmeckt |
Konstruktoren und Destruktoren |
Sourcecode |
08/2019 |
Klassisches Rezept |
Klassenhierachien |
Sourcecode |
10/2019 |
Falsche Zutaten |
Polymorphe Objekte |
Sourcecode |
12/2019 |
Auf Sparflamme |
Ressourcenverwaltung |
Sourcecode |
02/2020 |
Pointer-Rezepte |
Smart Pointer |
Sourcecode |
04/2020 |
Rezept für Namen |
Aussagekräftige Namen |
Sourcecode |
06/2020 |
Typische Fallen vermeiden |
Expressions und Statements |
Sourcecode |
08/2020 |
Richtig optimieren |
Performanz |
Sourcecode |
10/2020 |
Performance by Design |
Performanz |
Sourcecode |
12/2020 |
A Day at the Races |
Concurrency |
Sourcecode |
02/2021 |
Verletzungsrisiko |
Concurrency |
Sourcecode |
04/2021 |
Wenn es kracht |
Fehlerbehandlung |
Sourcecode |
06/2021 |
Unveränderlich |
Konstantheit und Unveränderlichkeit |
Sourcecode |
08/2021 |
Mit Schablone |
Templates |
Sourcecode |
10/2021 |
Rückschau |
10 Jahre "Modernes C++ in der Praxis" |
Sourcecode |
12/2021 |
Schnittstellen |
Interfaces |
Sourcecode |
02/2022 |
Vergleichsweise |
Anpassung von Algorithmen |
Sourcecode |
04/2022 |
Container-Flitzer |
Sequenzielle Container |
Sourcecode |
06/2022 |
Nummernsucher |
Assoziative Container |
|
08/2022 |
Grenzfälle |
Zugriffe auf Elemente außerhalb eines Containers |
|
01/2023 |
The Famous Four |
Überblick zu Concepts, Ranges, Modulen und Coroutinen |
|
04/2023 |
Die verschiedenen Arten, Concepts zu verwenden |
Einsatz von Concpets |
|
06/2023 |
Die Definition von Concepts |
Benutzerdefinierte Concepts |
|
08/2023 |
Weiterlesen...