J'ai affaire à du code qui n'a pas été écrit par moi. J'ai cette déclaration:
// p is type of std::unique_ptr<uint8_t[]>
if (p < 0) { /* throw an exception */ }
Alors qu'est-ce que cela p < 0
signifie dans ce contexte?
Sur la page de documentation , je pense que mon cas est 16) y < nullptr
, où 0
est nullptr
.
Mais qu'est-ce que ça fait?
p==-1
est un handle non valide. Puisqu'il 2^64
s'agit d'un nombre ridiculement énorme, tout sensible p
est toujours positif. p<0
Vérifie donc le descripteur non valide de WINAPI. Ce n'est pas un bon code.
uint8_t*
(ou même tableau de uint8_t
)? Je pense que oui void*
, n'est-ce pas?
void*
ils ont la macro HANDLE_PTR ou quelque chose qui est fondamentalement long*
iirc.