假设A,B,a,和b都是变量,的地址A,B,a,和b都是不同的.然后,对于以下代码:
A = a;
B = b;
Run Code Online (Sandbox Code Playgroud)
C和C++标准是否明确要求A=a在之前严格执行B=b?考虑到的地址A,B,a,和b都不同,编译器允许交换两个语句的执行顺序为某种目的,如优化?
如果我的问题的答案在C和C++中有所不同,我想知道两者.
编辑:问题的背景如下.在棋盘游戏AI设计中,对于优化,人们使用无锁共享哈希表,如果我们不添加volatile限制,其正确性很大程度上取决于执行顺序.