as-if相关内容

“好像"究竟是什么?规则?

正如标题所说: 究竟什么是“as-if"规则? 一个典型的答案是: 允许任何和所有不改变程序可观察行为的代码转换的规则 有时,我们会不断从某些实现中获取行为,这些行为归因于该规则.多次出错. 那么,这条规则到底是什么?标准并没有明确将这条规则作为一个部分或段落提及,那么究竟什么属于该规则的范围? 对我来说,这似乎是一个标准没有详细定义的灰色区域.有人可以详细说明 ..
发布时间:2022-01-30 15:59:33 C/C++开发

执行时间为零的循环

是否可能有一个执行时间为零的循环?我认为即使是空循环也应该有一个执行时间,因为有一个与之相关的开销. 解决方案 是的,在 as-if 规则下,编译器只负责模拟代码的可观察行为,所以如果你有一个没有任何可观察行为的循环,那么它可以被完全优化掉,因此将有效地实现零执行时间. 示例 例如以下代码: int main(){整数 j = 0 ;for( int i = 0; i 使 ..
发布时间:2021-12-20 16:07:28 C/C++开发

“好像"到底是什么?规则?

正如标题所说: 究竟什么是“as-if"?规则? 人们会得到的典型答案是: 允许任何和所有不改变程序可观察行为的代码转换的规则 有时,我们会不断从某些实现中获取行为,这归因于此规则.很多次都错了. 那么,这条规则到底是什么?标准中并没有明确将这条规则作为章节或段落提及,那么这条规则的范围究竟是什么? 对我来说,这似乎是一个标准没有详细定义的灰色区域.有人可以详细 ..
发布时间:2021-12-01 14:54:52 C/C++开发

“好像"的陈述或依据在哪里?C ++标准中的规则?

经过一番Google搜索(例如, site:eel.is是“好像规则" ),我找不到合适的位置来清楚地陈述所谓的“好像"规则在C ++标准中.我所能找到的就是在标准中调用它的那些地方,给出了 intro.execution 参考. 但是 intro.execution 似乎没有明确引用此规则的任何一般形式.我可能在这里缺少一些细微的东西,但是您能指出我对传达规则有精确的规范理解的地方吗?也许 ..
发布时间:2021-05-28 20:18:53 C/C++开发

定时与“假设"对比规则

关于“按原样"的问题,有一个很大的疑问.规则,但是我想知道在测量时间方面是否有例外情况. 考虑一下(取自此处稍作修改): 使用std :: chrono;自动开始= stable_clock :: now();自动结果= some_lengthy_calculation(some_params);自动结束= std :: chrono :: steady_clock :: now();st ..
发布时间:2021-04-19 19:44:12 C/C++开发

环具有零执行时间

是否有可能有一个环具有零执行时间?我会认为,既然有一个与之关联的开销,即使是空的循环应该有一个执行时间。 解决方案 是的,下的 AS-if规则的编译器只有义务效仿code的观察行为,所以如果你有一个循环,没有任何可观察到的行为,那么它完全可以被优化掉,因此将有效地具有零的执行时间。 例子 例如下面的code: INT的main() { INT J = 0; 的for(int ..
发布时间:2016-08-18 12:50:28 C/C++开发