Я имею дело с кодом, который был написан не мной. У меня есть это утверждение:
// 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.