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