Open In App

How to Use the Volatile Keyword in C++?

Last Updated : 19 Feb, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

In C++, the volatile keyword is used to tell the compiler that the value of the variable declared using volatile may change at any time. In this article, we will learn how to use the volatile keyword in C++.

Volatile Keyword in C++

We can use the volatile keyword for different purposes like declaring some global variables, variables across shared threads, etc.

Syntax to use Volatile Keyword in C++

volatile dataType varName;

C++ Program to Show the Use of Volatile Keyword

C++




// C++ Program to Show how to use the Volatile Keyword
#include <iostream>
#include <mutex>
#include <thread>
using namespace std;
  
// Mutex for synchronization
mutex mtx;
  
// Volatile variable to be accessed by multiple threads
volatile int volVar = 0;
  
// Function to increment the volatile variable
void incValue()
{
    for (int i = 0; i < 10; i++) {
        mtx.lock(); // Lock the mutex before accessing
                    // volVar
        volVar++;
        mtx.unlock(); // Unlock the mutex after modifying
                      // volVar
    }
}
  
int main()
{
    // Create two threads to increment volVar
    thread t1(incValue);
    thread t2(incValue);
  
    // Wait for both threads to finish
    t1.join();
    t2.join();
  
    // Output the final value of volVar
    cout << "Final value of volVar: " << volVar << endl;
  
    return 0;
}


Output

Final value of volVar: 20

Time Complexity: O(1), for each lock and unlock operation.
Auxiliary Space: O(1)


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads