23得票2回答
当一个假设,即[[假设]]包含未定义行为时会发生什么?

在C++23中,[[assume(expression)]]属性使得如果expression为false,行为将变得未定义。 例如: int div(int x, int y) { [[assume(y == 1)]]; return x / y; } 这将编译成与 y ...