相关疑难解决方法(0)

对于{A = a; B = B; ,"A = a"会在"B = b"之前严格执行吗?

假设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限制,其正确性很大程度上取决于执行顺序.

c c++ compiler-construction optimization standards

51
推荐指数
2
解决办法
3672
查看次数

标签 统计

c ×1

c++ ×1

compiler-construction ×1

optimization ×1

standards ×1