ฉันกำลังจัดการกับรหัสที่ฉันไม่ได้เขียน ฉันมีคำสั่งนี้:
// p is type of std::unique_ptr<uint8_t[]>
if (p < 0) { /* throw an exception */ }
ดังนั้นp < 0ในบริบทนี้หมายความว่าอย่างไร
บนหน้าเอกสารผมเชื่อว่ากรณีของฉันเป็น16) y < nullptrที่เป็น0nullptr
แต่มันจะทำอะไร?
p==-1เป็นหมายเลขอ้างอิงที่ไม่ถูกต้อง เนื่องจาก2^64เป็นจำนวนมากไร้สาระใด ๆ ที่pเป็นบวกเสมอ ดังนั้นp<0ตรวจสอบหมายเลขอ้างอิงที่ไม่ถูกต้องของ WINAPI นี่ไม่ใช่รหัสที่ดี
uint8_t*(หรือแม้กระทั่งอาร์เรย์uint8_t)? ฉันคิดว่าพวกvoid*เขาใช่มั้ย
void*พวกเขามีมาโคร HANDLE_PTR หรือบางสิ่งซึ่งโดยทั่วไปจะเป็นlong*iirc