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 < 0
das in diesem Zusammenhang?
Auf der Dokumentationsseite glaube ich, dass mein Fall ist 16) y < nullptr
, wo 0
ist nullptr
.
Aber was macht es?
p==-1
ist ein ungültiges Handle. Da 2^64
es sich um eine lächerlich große Zahl handelt, ist jeder vernünftige p
immer 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.