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
}
我想知道这条规则是标准的还是实现定义的,并且是第一段可移植的代码?