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.
Hubert Burda Media
München, Germany
€80-95K
Intermediate
Senior
JavaScript
Node.js
+1
Dennemeyer Group
Hesperange, Luxembourg
Intermediate
Senior
.NET
Structured Query Language (SQL)
Matching moments
02:49 MIN
Using AI to overcome challenges in systems programming
AI in the Open and in Browsers - Tarek Ziadé
02:33 MIN
Why you might not need JavaScript for everything
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
03:31 MIN
The value of progressive enhancement and semantic HTML
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
11:32 MIN
The industry's focus on frameworks over web fundamentals
WeAreDevelopers LIVE – Frontend Inspirations, Web Standards and more
09:00 MIN
Navigating the growing complexity of modern CSS
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
08:07 MIN
Exploring modern JavaScript performance and new CSS features
WeAreDevelopers LIVE – AI, Freelancing, Keeping Up with Tech and More
11:10 MIN
The only frontend stack that truly matters
WeAreDevelopers LIVE – Frontend Inspirations, Web Standards and more
06:46 MIN
How AI-generated content is overwhelming open source maintainers
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
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.

Visonum GmbH
Remote
Junior
Intermediate
React
Redux
TypeScript

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

Adacore
Canton de Grenoble-2, France
C
Python





