programming:cpp
Table of Contents
C++
The Standard
- ISO/IEC: Working Draft, Standard for Programming Language C++ (PDF, 2011)
- cppreference.com: C++ reference
- cplusplus.com: Standard C++ Library reference
Guidelines
- Bjarne Stroustrup and Herb Sutter: C++ Core Guidelines
- Rainer Grimm: Modernes C++
(Common) Rules
- Rajeev Singh: 8 Software engineering principles to live by
- Marius Bancila: Ten C++11 Features Every C++ Developer Should Use
- Vatroslav Bodrozic: Top 10 Most Common C++ Mistakes That Developers Make
Special Topics
Links
Initialization
- Arthur O’Dwyer: The Knightmare of Initialization in C++
Serialization
- Frank B. Brokken: C++ Annotations - 25.1: Using file descriptors with `streambuf' classes
- Stack Overflow: Customized streambuffer for C++ istream
- cppreference.com: std::basic_streambuf
Exceptions
- Andrzej Krzemieński: Using noexcept
Smart Pointers
- David Kieras: Using C++11’s Smart Pointers (PDF, 2016)
- Sorush Khajepor: What is a C++ unique pointer and how is it used? (smart pointers part I)
- Sorush Khajepor: What is a C++ shared pointer and how is it used? (smart pointers part II)
- Sorush Khajepor: What is a C++ weak pointer and where is it used? (smart pointers part III)
- Brian Overland: Be Smart About C++11 Smart Pointers
- Bartlomiej Filipek: Custom Deleters for C++ Smart Pointers
- Peter Dimov: Smart Pointer Programming Techniques
- Phillip Johnston: std::shared_ptr and shared_from_this
- Stack Overflow: What is the cyclic dependency issue with shared_ptr?
Move Semantics
- Alex Allain: Move semantics and rvalue references in C++11
- Eli Bendersky: Understanding lvalues and rvalues in C and C++
- Thomas Becker: C++ Rvalue References Explained
- Stack Overflow: What is move semantics?
- David Abrahams: Want Speed? Pass by Value.
Functions, Functors & Lambdas
- Jonathan Boccara: STL Function objects: Stateless is Stressless
- Davis Vigneault: Callbacks in C++11
- Alex Allain: Programs as Data: Function Pointers1)
- Alex Allain: Functors: Function Objects in C++
- Alex Allain: Lambda Functions in C++11 - the Definitive Guide
- Sandor Dargo: Lambda Expressions in C++
- Hitesh Kumar: Capture *this in lambda expression: Timeline of change
Threads & Concurrency
- thisPointer: C++11 Multi-threading Tutorial
- Dept. Computer Science UChicago: Concurrency in C++11
- Stack Overflow: What exactly is std::atomic?
- Stack Overflow: How does scope-locking work?
- Stack Overflow: Why conditional_variable::notify_all may not wake up any thread?
Double-Checked Locking Pattern (DCLP)
- David Bacon et al.: The "Double-Checked Locking is Broken" Declaration
- Scott Meyers and Andrei Alexandrescu: C++ and the Perils of Double-Checked Locking (PDF, 2004)
- Hongbo Zhang: Double-Checked Locking is Broken
- Jeff Preshing: Double-Checked Locking is Fixed In C++11
1)
Old style “function pointers” based on polymorphism.
programming/cpp.txt · Last modified: 2023/10/13 07:18 by Ralf H.