Tag: 易变

为什么一个指向volatile的指针,比如“volatile int * p”,有用?

volatile是告诉编译器不要优化引用,这样每个读/写操作都不使用存储在寄存器中的值,而是进行真正的内存访问。 我可以理解它对于一些普通的variables是有用的,但是不理解volatile是如何影响指针的。 volatile int *p = some_addr; int a = *p; // CPU always has to load the address, then does a memory access anyway, right? 如果它被声明为int *p = some_addr它有什么区别?

在C ++中的volatile和mutable

我有一个关于volatile和mutable之间的区别的问题。 我注意到两者都意味着它可以被改变。 还有什么? 它们是一样的吗? 有什么不同? 他们在哪里适用? 为什么提出这两个想法? 如何以不同的方式使用它们? 非常感谢。

为什么在C中需要volatile?

为什么在C中需要volatile ? 它是干什么用的? 它会做什么?