Nếu bạn đọc đến cuối trang, phần References, bạn sẽ thấy mục ISO/IEC 14882:xxxx, đấy chính là tài liệu chính xác đấy bạn. Và nếu bạn không tìm được thông tin cần thiết trong mấy cái ISO đấy, thì bạn xem mục 6.9.1 sẽ rõ nhé.
Nếu bạn không rõ được code này là UB, hoặc không biết UB là gì thì mình xin phép không thảo luận tiếp về đoạn code này nhé.
Và đây là ý của bạn:
Thì mình khẳng định luôn là ý bạn hoàn toàn sai. 1+2
sẽ không bắt buộc phải tính trước 5^6
trong (1+2)^5^6
với phép ^
là phép lấy mũ.
Phần này thì mình hoàn toàn đồng ý. Nhưng ví dụ này của bạn là về operator precedence của các operator khác nhau, không liên quan gì đến vấn đề kết hợp (associativity) giữa các operator giống nhau (chỉ có ternary operation hoặc chỉ có hàm mũ) như bên trên đã thảo luận. Mình nghĩ comment của bạn @rogp10 ở Hỏi về toán tử 3 ngôi - ternary operation đã cố gắng giải thích cho bạn hiểu rõ vấn đề đang thảo luận là gì để kéo bạn về đúng chủ đề rồi đấy.
Không biết là bạn đọc đoạn này từ đâu, chứ đoạn bên trên rõ ràng là mình chỉ bảo tính 4
trước, chứ không phải 4^5
. Mong bạn đọc kỹ lại trước khi thảo luận nhé.
Ví dụ này là ví dụ trực tiếp, đơn giản, dễ hiểu nhất mình có thể nghĩ ra để giải thích link sequence point (đã được đề cập từ May 18, 2020). Nên bản thân mình thì thấy hoàn toàn có liên quan nhé.
Về topic này, mình nghĩ đã giải thích đủ cho chủ topic hiểu. Nên nếu bạn @Cuong_Trinh_Viet còn thắc mắc nào chưa rõ liên quan topic thì mình sẵn lòng giải thích tiếp nhé. Còn thảo luận ngoài lề, có lẽ một topic mới sẽ tốt hơn.
Thân