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.
envelio
Köln, Germany
Remote
Senior
Python
Software Architecture
Matching moments
01:32 MIN
Organizing a developer conference for 15,000 attendees
Cat Herding with Lions and Tigers - Christian Heilmann
04:49 MIN
Using content channels to build an event community
Cat Herding with Lions and Tigers - Christian Heilmann
04:57 MIN
Increasing the value of talk recordings post-event
Cat Herding with Lions and Tigers - Christian Heilmann
03:38 MIN
Balancing the trade-off between efficiency and resilience
What 2025 Taught Us: A Year-End Special with Hung Lee
02:44 MIN
Rapid-fire thoughts on the future of work
What 2025 Taught Us: A Year-End Special with Hung Lee
04:57 MIN
Developing resilience by expanding your capacity for failure
What 2025 Taught Us: A Year-End Special with Hung Lee
03:39 MIN
Breaking down silos between HR, tech, and business
What 2025 Taught Us: A Year-End Special with Hung Lee
06:04 MIN
The importance of a fighting spirit to avoid complacency
The Future of HR Lies in AND – Not in OR
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.

Confideck GmbH
Vienna, Austria
Remote
Intermediate
Senior
Node.js
MongoDB
TypeScript








Brunel GmbH
Bremen, Germany
C++
Python
Unit Testing
Software Architecture