Я просматриваю следующий код:
inline void* interlocked_read_acquire(void* volatile* x);
и мне интересно, почему не просто a volatile void* в качестве аргумента. В общем, что такое семантика или определение a volatile*? Я также полагаю, что вы можете использовать квалификатор volatile* с любым другим типом, кроме void. Это правильно?