【发布时间】:2021-07-15 16:19:31
【问题描述】:
我在 Zig Doc 上看到它有未定义的行为。是吗?是否有任何方法可以预测代码无法访问后的行为? 就像它正在处理下一行或尝试继续像无法到达一样从未存在过!
【问题讨论】:
标签: unreachable-code zig
我在 Zig Doc 上看到它有未定义的行为。是吗?是否有任何方法可以预测代码无法访问后的行为? 就像它正在处理下一行或尝试继续像无法到达一样从未存在过!
【问题讨论】:
标签: unreachable-code zig
难道没有任何方法可以预测代码在无法访问后的行为吗?就像它是在下一行处理还是尝试像无法访问一样继续下去!
不,编译器无法优化。
如果你想控制发生的事情,千万不要使用unreachable。
记住:当你触及那条线时,UB 比不可预测性更糟糕。优化器甚至可能在您到达 UB 之前就破坏您的程序。
【讨论】:
就是这样。如果您可以保证代码在任何给定场景中的行为方式,那将是已定义行为。
如果您想知道为什么存在未定义的行为,请参阅here 了解开始。
【讨论】: