What is the meaning of void* volatile* in c++

I am looking at the following code:

inline void* interlocked_read_acquire(void* volatile* x);

and am wondering why not just a volatile void* as an argument. In general what is the semantics or definition of a volatile* ?

I am also making the assumption that you could use the volatile* qualifier with any other type besides void. Is that correct?

1 Like

Hey @namankumar i found something…

I dont know the answer but i found this thread on SO,

Also check this out

Hope you find these links as useful.