Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: Advanced
Apr 27, 1999



Building the Right Environment to Support AI, Machine Learning and Deep Learning

The Volatile Storage Qualifier

The const qualifier guarantees that the value of an object cannot be changed directly by the program. However, it may be altered asynchronously--that is, by a way unknown to the compiler. For example, the current bit rate of a modem can be read directly from its port and stored in a const variable. However, it can have different values during the execution of the program, due to the varying line conditions. The compiler can mistakenly assume that the value is immutable and store it in a machine register as an optimization measure, rather than read it from the modem's port. The volatile qualifier instructs the compiler to read the value of the variable from its source (in this case, the modem port) every time it is accessed, instead of storing it in a faster processor register. The generated code may be less efficient in this case, but it is correct.
Danny Kalev
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date