Я думал, что я был классным, когда я сделал что-то вроде:
bool hasParent() { return this->parentNode ; }
Даже при использовании (bool) предупреждение все равно не исчезает.
Если this- > parentNode равен NULL, если родительский node отсутствует.
Но я получаю:
warning C4800: 'Node *' : forcing value to bool 'true' or 'false' (performance warning)
Какая сделка, лет? Почему это предупреждение о производительности? Я думал, что было бы более эффективно не писать что-то вроде:
bool hasParent() { if( this->parentNode ) return true ; else return false ; }
Но вторая версия не генерирует никаких предупреждений, а компилятор кажется намного счастливее. Что быстрее, хотя?