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