对同一表达式中的不同变量使用 ++ 或 -- 运算符是否会调用 UB?
Does using the ++ or -- operator on different variables in the same expression invoke UB?
我想知道在同一表达式未定义行为中对不同变量使用递增(++
)还是递减(--
)运算符;比如
int i=1,j=2;
int k=i++ + j++;
Does using the ++ or — operator on different variables in the same expression invoke UB?
没有。它不会调用未定义的行为。您可以在不同对象的表达式中多次使用 ++
或 --
。在这种情况下,每个变量仅在两个序列点内修改一次。
我想知道在同一表达式未定义行为中对不同变量使用递增(++
)还是递减(--
)运算符;比如
int i=1,j=2;
int k=i++ + j++;
Does using the ++ or — operator on different variables in the same expression invoke UB?
没有。它不会调用未定义的行为。您可以在不同对象的表达式中多次使用 ++
或 --
。在这种情况下,每个变量仅在两个序列点内修改一次。