Я маю справу з кодом, написаним не мною. Я маю таке твердження:
// p is type of std::unique_ptr<uint8_t[]>
if (p < 0) { /* throw an exception */ }
То що p < 0
означає в цьому контексті?
На сторінці документації я вважаю, що моя справа є 16) y < nullptr
, де 0
є nullptr
.
Але що це робить?
p==-1
- недійсна ручка. Оскільки 2^64
це безглуздо величезна кількість, будь-який розумний p
завжди позитивний. Тож p<0
перевіряє наявність недійсної обробки WINAPI. Це не гарний код.
uint8_t*
(або навіть масиву uint8_t
)? Я думаю, що вони є void*
, чи не так?
void*
макрос HANDLE_PTR або щось, що в основному є long*
iirc.