Estou lidando com código que não foi escrito por mim. Eu tenho esta afirmação:
// p is type of std::unique_ptr<uint8_t[]>
if (p < 0) { /* throw an exception */ }
Então, o que p < 0
significa nesse contexto?
Na página de documentação , acredito que meu caso é 16) y < nullptr
, onde 0
está nullptr
.
mas o que isso faz?
p==-1
é um identificador inválido. Como 2^64
é um número ridiculamente grande, qualquer sensível p
é sempre positivo. Portanto, p<0
verifica se há identificador inválido do WINAPI. Este não é um bom código.
uint8_t*
(ou mesmo matriz de uint8_t
)? Eu acho que eles são void*
, não são?
void*
eles têm macro HANDLE_PTR ou algo que é basicamente long*
IIRC.