Есть два варианта написания логических условий с указателями в C++
1)
while (a_ptr || b_ptr) {
uint currentDataA = (a_ptr) ? a_ptr->data : 0;
uint currentDataB = (b_ptr) ? b_ptr->data : 0;
....
}
2)
while (a_ptr != nullptr || b_ptr != nullptr) {
uint currentDataA = (a_ptr != nullptr) ? a_ptr->data : 0;
uint currentDataB = (b_ptr != nullptr) ? b_ptr->data : 0;
....
}
Раньше я обычно выбирал 2 случай, но теперь я вижу,что наверное лучше использовать неявное преобразование типов? Какие у Вас мысли на этот счет?