Bjarne Stroustrup
C++ in constrained environments
#1about 5 minutes
Debunking common myths about C++ in constrained systems
Common misconceptions, such as needing to learn C first or that using a C-style subset is most efficient, are addressed to set the stage for modern C++ practices.
#2about 6 minutes
The onion principle and the C++ memory model
Design code using the onion principle by starting with clean, high-level interfaces and only peeling back layers of abstraction when performance tuning is necessary.
#3about 3 minutes
Understanding resource management with RAII
Resource management is the key to reliable C++, using constructors for acquisition and destructors for predictable, automatic release of resources like memory or threads.
#4about 8 minutes
Using modern language features for safer code
Replace unsafe, low-level constructs like unions and pointer-size pairs with safer, more expressive alternatives like `std::variant` and `std::span`.
#5about 7 minutes
Shifting computation from runtime to compile time
Improve performance and correctness by moving computations to compile time using `constexpr` functions, move semantics, and libraries like `std::chrono`.
#6about 6 minutes
Applying the C++ Core Guidelines for safety
The C++ Core Guidelines provide a framework for writing modern, safe code by starting with the full language and using libraries to encapsulate and restrict unsafe features.
#7about 12 minutes
Choosing the right error handling strategy
Adopt a clear policy for error handling by using error codes for expected, local failures and exceptions for rare, non-local errors that require a guaranteed handler.
#8about 6 minutes
Writing safe concurrent code and avoiding data races
Avoid undefined behavior from data races in concurrent code by using the C++ memory model, atomics for synchronization, and higher-level abstractions like threads and locks.
#9about 7 minutes
Q&A on local error handling and C++23 features
The speaker answers audience questions about testing for locally handled errors and discusses the expected features and delays for the C++23 standard.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
52:28 MIN
Q&A on language design, Rust, and the future of C++
The Design and Evolution of C++
14:17 MIN
C++ availability, ecosystem, and backwards compatibility
101 brilliant things of C++
24:27 MIN
Core strategies for achieving high performance
The Design and Evolution of C++
49:05 MIN
Adopting modern C++ with the core guidelines
The Design and Evolution of C++
07:48 MIN
Core design principles and the language evolution trilemma
The Design and Evolution of C++
00:36 MIN
Understanding the original design goals and evolution of C++
Eternal Sunshine of the Spotless Programming Language
06:40 MIN
Modern C++ evolution and the burden of backward compatibility
Eternal Sunshine of the Spotless Programming Language
22:53 MIN
Managing C++ complexity with strong coding guidelines
The C++ rvalue lifetime disaster
Featured Partners
Related Videos
The Design and Evolution of C++
Bjarne Stroustrup
101 brilliant things of C++
Andreas Fertig
C++ Features You Might Not Know
Jonathan Müller
The C++ rvalue lifetime disaster
Arno Schoedl
Functional Programming in C++
Jonathan Müller
Programming secure C#/.NET Applications: Dos & Don'ts
Sebastian Leuer
An (In-)Complete Guide to C++ Object Lifetimes
Jonathan Müller
A Love Letter to Rust
Rainer Stropek
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.


C++ Entwickler Video / Grafik | C++ 17 / 20, OpenGL, Vulkan, codec, multithreading | Inhouse (mwd)
Vesterling Consulting GmbH
Remote
€55-80K
Linux
DevOps
OpenGL
+3


Software Engineer C++ / Automotive | C++, AUTOSAR, CAN, MOST, I2C, SPI, SCRUM (mwd)
Vesterling Consulting GmbH
€50-60K
UML
Software Architecture



