Estoy tratando con un código que no ha sido escrito por mí. Tengo esta afirmación:
// p is type of std::unique_ptr<uint8_t[]>
if (p < 0) { /* throw an exception */ }
Entonces, ¿qué p < 0significa en este contexto?
En la página de documentación , creo que mi caso es 16) y < nullptrdónde 0está nullptr.
Pero, ¿qué hace?
p==-1hay un identificador no válido. Dado que 2^64es un número ridículamente enorme, cualquier sentido pes siempre positivo. Por lo tanto, p<0busca un identificador no válido de WINAPI. Este no es un buen código.
uint8_t*(o incluso de matriz uint8_t)? Creo que lo son void*, ¿no es así?
void*, tienen macro HANDLE_PTR o algo que es básicamente long*iirc.