내가 작성하지 않은 코드를 다루고 있습니다. 나는이 진술을 가지고있다 :
// 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 가 아닙니다 .