Tôi đang viết một số mã C++ và tôi muốn gọi hai chức năng (checkXDirty
và checkYDirty
) và trả lại true
nếu trả lại true
. Tôi cần phải đánh giá cả hai ngay cả khi một trả về true
, vì vậy suy nghĩ đầu tiên của tôi là sử dụng(bool | bool) có an toàn không?
return checkXDirty() | checkYDirty();
Điều này có vẻ hơi lạ (bẩn, có lẽ). Điều này có luôn tạo ra kết quả chính xác trong C++ không? Điều gì về C, với loại _Bool
? (Mã này có thể sẽ được điều chỉnh cho cả hai ngôn ngữ và tôi không muốn những điều bất ngờ khó chịu khi tôi chuyển mã).
Okey, okey. Vâng, tôi sẽ nói rằng đây là ý tưởng tồi khi có các hàm 'isSomething()' với các hiệu ứng phụ. – Andrey
@Andrey: Tốt. Thay vào đó, tôi sẽ đổi tên các hàm thành 'check ...'. – nneonneo
@MitchWheat chúng có bitwise HOẶC chính xác để tránh đánh giá ngắn mạch. – juanchopanza