4.8. Volatile Objects

The wide variety of applications that we model with objects sometimes demands controlling hardware devices or accessing memory locations that change external to our programs. This is not a problem conceptually for software designs unless an aggressive compiler optimizes our code and breaks the intended behavior. The volatile keyword in variable declarations forces compilers to access volatile variables everywhere they appear in programs, inasmuch as they might change without a compiler knowing it. In this section, we examine volatile objects and volatile member functions to further enhance these concepts.

Users create volatile objects with the keyword volatile. Here are several examples.

 volatile Screen bitmap; // volatile ...

Get Navigating C++ and Object-Oriented Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.