2

我在 Zig Doc 上读到它有未定义的行为。是吗?是否有任何方法可以预测代码无法访问后的行为?就像它是下一行的处理,或者尝试像无法到达的那样继续下去!

4

2 回答 2

1

就是这样。如果您可以保证代码在任何给定场景中的行为方式,那将是已定义的行为。

如果您想知道为什么存在未定义的行为,请参阅此处

于 2021-06-13T17:03:53.807 回答
1

是否有任何方法可以预测代码无法访问后的行为?就像它是下一行的处理,或者尝试像无法到达的那样继续下去!

不,编译器无法优化。

unreachable如果你想控制发生的事情,千万不要使用。

请记住:当您触及那条线时,UB 比不可预测性更糟糕。优化器甚至可能在您到达 UB 之前就破坏您的程序。

于 2021-06-13T18:32:05.710 回答