Ich habe es mit Code zu tun, der nicht von mir geschrieben wurde. Ich habe diese Aussage:
// p is type of std::unique_ptr<uint8_t[]>
if (p < 0) { /* throw an exception */ }
Was bedeutet p < 0das in diesem Zusammenhang?
Auf der Dokumentationsseite glaube ich, dass mein Fall ist 16) y < nullptr, wo 0ist nullptr.
Aber was macht es?
p==-1ist ein ungültiges Handle. Da 2^64es sich um eine lächerlich große Zahl handelt, ist jeder vernünftige pimmer positiv. p<0Überprüft also , ob das WINAPI-Handle ungültig ist. Das ist kein guter Code.
uint8_t*(oder sogar ein Array von uint8_t)? Ich denke sie sind es void*, nicht wahr?
void*sie haben Makro HANDLE_PTR oder etwas, das im Grunde long*iirc ist.