c++ - 以下代码是否调用 UB?

标签 c++ undefined-behavior

下面的代码会调用 UB 吗?

int main(){
  volatile int i = 0;
  volatile int* p = &i;
  int j = ++i * *p;
}

最佳答案

是的——可以先计算++i 或 *p(即 i)。

关于c++ - 以下代码是否调用 UB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2071876/

相关文章:

c++ - 如何修复 ZeroMQ 发布者 C++ 中的运行时错误

c++ - 对 `tesseract::TessBaseAPI::TessBaseAPI()' 的 undefined reference

带有模板编译错误的 C++ 类

c++ - 两个静态文本元素的 Winapi 不同背景颜色

c - 是 printf 的输出 ("%d %d", c++, c);也未定义?

c++ - 复制平凡可复制的对象是否总是在 C++14 中定义?

c++ - boolean 数据类型与整数数据类型来表示真值

c++ - 在析构函数中修改类成员对象是否会导致未定义的行为?

rust - Rust 中的严格别名?

c++ - 运行时错误-UndefinedBehaviourSanitizer