Overview
Explore the intricacies of volatile in C and C++ programming in this conference talk from NDC TechTown 2021. Delve into the historical context, use cases, and semantics of volatile objects and access. Examine the current standards, implementation-defined behaviors, and potential future revisions. Learn about volatile qualification, static and const volatile, data races, and compound assignments. Analyze real-world examples from Chromium and command decoders. Discover the relationship between volatile and atomic operations, and understand the implications for lvalues and data volatility. Gain insights into the upcoming C23 language changes related to volatile.
Syllabus
Introduction
Agenda
Use Case
Volatile Qualification
Volatile
Static Volatile
Const Volatile
Uses of Volatile
Volatile Objects
Data Race
Use Cases
Implementation Defined Behavior
Compound Assignments
PrePost Increment and Decrement
Chromium Example
Command Decoder Example
Volatile Atomic
Example
LValues
Data is volatile
C23 language
Summary
References
Taught by
NDC Conferences