Vengo da uno sfondo in cui i puntatori dovrebbero generalmente essere confrontati con "NULL" e interi con "0".Test per un handle di Windows non valido: dovrei confrontare con 'NULL', '0' o anche 'nullptr'?
Poiché non ho percepito che le maniglie di Windows siano "puntatori" nel senso puro (essendo "handle"), ho preso l'abitudine di confrontarli con 0 anziché con "NULL".
Chiaramente sono implementati internamente come puntatori al giorno d'oggi, ma personalmente ritengo che sia meramente per acquisire un certo tipo di sicurezza piuttosto che perché sono intrinsecamente indicatori.
In ogni caso, ho appena notato che l'aiuto per CreateIC che restituisce un HDC indica che se la funzione non riesce, restituisce "NULL".
Ora sono confuso - e mi sto chiedendo cosa pensano gli altri - è più corretto considerare un handle di Windows come un puntatore (e quindi confrontarlo con 'NULL' o 'nullptr' per i moderni compilatori) o dovrebbe è considerato un numero intero?
Le maniglie non sono puntatori, ma indici a un tavolo. Consultare MSDN per i valori di ritorno. E comunque, perché 'if (x) {..' non va bene? – ruslik
Grazie per questo - chiamami vecchio stile, ma normalmente riservo la notazione 'if (x)' per le espressioni che valutano i risultati 'bool'. Non so se si tratta di buone o cattive pratiche, ma è quello a cui sono abituato. –