Có, đây là hợp lệ C++:và, hoặc, không so với &&, ||,!
if (false or (true and not false)) ...
Among others như bitand
và xor
. Trong C, chúng từng là macro, nhưng bây giờ chúng là are keywords! Bạn thậm chí có thể quá tải chúng! Sau đó, tại sao ai đó bao giờ dạy hoặc viết một cái gì đó như:
if (false || (true && !(false))) ...
Tại sao ai sử dụng chúng?
"Trong C, chúng từng là macro" Không, chúng không bao giờ là macro "trong C", mặc dù một số chương trình C riêng lẻ có thể đã xác định các macro đó. Adn đây không phải là một câu hỏi thực sự, nó có ý kiến và tranh luận - xem FAQ. –
có thể trùng lặp của [Có ai đang sử dụng toán tử boolean được đặt tên không?] (Http://stackoverflow.com/questions/1103313/is-anybody-using-the-named-boolean-operators) [Những toán tử logic nào C++ bạn sử dụng: và, hoặc, không và các nhà khai thác kiểu ilk hoặc C? tại sao?] (http://stackoverflow.com/questions/1103313/is-anybody-using-the-named-boolean-operators); xem thêm [C++ mã thông báo thay thế?] (http://stackoverflow.com/questions/555505/c-alternative-tokens) [Có thể tắt hỗ trợ cho "và"/"hoặc" sử dụng toán tử boolean trong gcc?] (http://stackoverflow.com/questions/1069352) –
@Jim Balter: Nhưng trong C, chúng _are_ macro, được định nghĩa trong 'iso646.h'. –