在C#和C中,volatile有什么区别?我在一次面试中被问到了这个问题。
Herb Sutter在这篇博客文章中简明清晰地解释了volatile在C、C++、Java和C#中的用法和含义,并进行了比较。
这个网站上也有一些关于此话题的好问题和答案:
编辑:为了不让任何人感到困惑,这里是最初链接的"确切链接",该链接指向DDJ文章。
此外,Nigel Jones的这篇文章解释了嵌入式C编程中volatile关键字的含义。由于这个问题似乎在面试中出现过,同一作者的另一篇文章是我最喜欢的之一(精确链接),其中也对C语言中的volatile进行了很好的解释。
int running = 1;
void run() {
while (running) {
// Do something, but 'running' is not used at all within the loop.
}
}