在什么情况下会在这种情况下执行死刑?

时间:2018-12-03 01:00:05

标签: c++ c++11 c++17

很久以前,在接受采访时,我偶然发现了这个问题:

假设在某处,我们已经获得了这一行代码。您能否提供至少三种会导致条件下的尸体被处决的案件?

if (a == 3 && a == 4) { /* ... */ }

我的答案是:

  1. 'a'很有可能是带有重载相等运算符的自定义类。

  2. 'a'可能在某个地方被定义(或重新定义)为#define a b++,并且如果b等于3,那么它将被评估为true

  3. 必须存在某种多线程问题,例如,不同的线程访问相同的变量。

  4. 转到标签

我没有要求澄清,也没有告诉我答案是否正确。您将如何进行?有什么有趣的答案吗?

1 个答案:

答案 0 :(得分:0)

那不是循环。

如此空洞地执行所显示的每个循环。