1
int* ptr;
//ptr may points to any location(e.g. nullptr)
if(ptr != nullptr && *ptr != 1) {
  //A
} else {
  //B
}

那么上面的代码总是等同于下面的代码吗?

if(ptr != nullptr) {
  if(*ptr != 1) {
    //A
  } else {
    //B
  }
} else {
  //B
}

我想知道这条规则是标准还是实现定义的,第一段代码是否可移植?

4

0 回答 0