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