2015-10-09 13 views
5

Trong khi tìm kiếm các danh sách điều hành của C++ trên Wikipedia, tôi thấy một bài viết về operator synonyms:Tại sao C++ cần các từ đồng nghĩa của toán tử?

C++ định nghĩa [6] từ khóa để đóng vai trò là bí danh cho một số nhà khai thác: và (& &), bitand (&), và_eq (& =), hoặc (||), bitor (|), hoặc_eq (| =), xor (^), xor_eq (^ =), không (!), Not_eq (! =) Và compl (~). Chúng có thể được sử dụng chính xác giống như các ký hiệu dấu chấm câu mà chúng thay thế, vì chúng không phải là toán tử giống nhau dưới một tên khác, nhưng thay thế mã thông báo đơn giản cho tên (chuỗi ký tự) của toán tử tương ứng. Điều này có nghĩa là các biểu thức (a> 0 và cờ) và (a> 0 & & cờ) có nghĩa giống hệt nhau. Nó cũng có nghĩa là, ví dụ, từ khóa bitand có thể được sử dụng để thay thế không chỉ bitwise và toán tử mà còn là toán tử địa chỉ, và thậm chí nó có thể được sử dụng để chỉ định các kiểu tham chiếu (ví dụ, int bitand ref = n) . Đặc điểm kỹ thuật ISO C cho phép các từ khóa này là các macro tiền xử lý trong tệp tiêu đề iso646.h. Để tương thích với C, C++ cung cấp tiêu đề ciso646, sự bao gồm trong đó không có hiệu lực.

Sau đó tôi tự hỏi: Tại sao chúng ta cần những số operator synonyms? Sẽ tốt hơn nếu ai đó cung cấp một số trường hợp sử dụng.

+5

Có thể phục vụ cho những người sử dụng bàn phím không có các biểu tượng đó trong bố cục chuẩn của họ. – SBI

+0

Vâng, đối với tôi có thể thực sự rõ ràng rằng tôi có nghĩa là bitwise hoặc thay vì hợp lý hoặc! – AndyG

Trả lời

Các vấn đề liên quan