Possible Duplicates:
How to check for equals? (0 == i) or (i == 0)
Why does one often see “null != variable” instead of “variable != null” in C#?Tại sao một số lập trình viên có kinh nghiệm viết so sánh với giá trị trước biến?
Tôi đã có một cái nhìn tại một hướng dẫn kỳ lạ ở đây và ở đó cũng như một số mã DirectX và nhận thấy rằng nhiều lập trình viên có kinh nghiệm C++ viết các biểu thức theo cách sau:
(<constant> == <variable>)
hơn những gì trí tuệ thông thường của tôi có vẻ thích:
(<variable> == <constant>)
Ví dụ: if (NULL == ptr)
thay vì if (ptr == NULL)
. Tôi thích sự thay thế thứ hai, nếu không có lý do khác để lựa chọn trước đây, lý do của tôi là biến có vẻ là "nhận" kết thúc của biểu thức.
Nhưng tôi nghi ngờ tên cũ được sử dụng để tránh vô tình gán giá trị của hằng số cho biến bằng cách sử dụng =
thay vì ==
. Điều đó có đúng không?
có, chính xác trên mã này mục thánh chiến tranh thường được kết hợp với mã hóa C++. –
@Mark: bây giờ đã làm mọi người sử dụng sai thứ tự! (Gợi ý: những người lập trình thực sự không bao giờ nhầm lẫn = cho == ...!) –
Điều duy nhất là tôi sẽ ngừng suy nghĩ về nó như biến "tiếp nhận" bất cứ điều gì trong các loại biểu thức này. – BobbyShaftoe