EDIT:
Этот ответ был опубликован, когда вопрос касался ключевого слова volatile. Вопрос, похоже, был изменен третьей стороной.
ОРИГИНАЛ:
Volatile сообщает компилятору, что он не должен предполагать, что значение, которое он только что поместил в переменную, помеченную как volatile, будет там при следующем его использовании ... что он должен проверить текущее значение, прежде чем использовать его снова.
Один пример, если переменная представляет область памяти, которая может быть изменена другим процессом.
Вот пример (давным-давно, с тех пор, как я сделал C ++, поэтому, пожалуйста, простите за любые незначительные синтаксические проблемы):
volatile int x;
int DoSomething()
{
x = 1;
DoSomeOtherStuff();
return x+1; // Don't just return 2 because we stored a 1 in x.
// Check to get its current value
}