Tôi đến từ một nền tảng theo đó con trỏ thường được so sánh với 'NULL' và số nguyên với '0'.Thử nghiệm để xử lý cửa sổ không hợp lệ: tôi có nên so sánh với 'NULL', '0' hoặc thậm chí 'nullptr' không?
Vì tôi không nhận thấy Windows xử lý là 'con trỏ' theo nghĩa thuần túy (là 'xử lý'), tôi đã có thói quen so sánh chúng với 0 chứ không phải là 'NULL'.
Rõ ràng chúng được triển khai nội bộ dưới dạng con trỏ ngày nay, nhưng cá nhân tôi cho rằng chỉ đơn thuần là để có được một số loại an toàn hơn là vì chúng là con trỏ nội tại.
Dù sao, tôi chỉ nhận thấy rằng trợ giúp cho CreateIC trả về trạng thái HDC rằng nếu hàm không thành công thì trả về 'NULL'.
Bây giờ tôi đang bối rối - và tự hỏi những gì người khác nghĩ - là nó chính xác hơn để xem xét một xử lý Windows là một con trỏ (và do đó kiểm tra nó với 'NULL' hoặc 'nullptr' cho trình biên dịch hiện đại) hoặc nên nó được coi là một số nguyên?
Xử lý không phải là con trỏ, nhưng chỉ mục cho một bảng. Tham khảo MSDN để biết các giá trị trả lại. Và dù sao, tại sao 'if (x) {..' không tốt? – ruslik
Cảm ơn bạn - hãy gọi cho tôi theo kiểu cũ, nhưng tôi thường đặt ký hiệu 'if (x)' cho các biểu thức đánh giá kết quả 'bool'. Tôi không biết đây có phải là thực hành tốt hay xấu, nhưng đó là những gì tôi thường làm. –