C sau ++ là không hợp lệ vì các biến tài liệu tham khảo cần initializers:Khởi tạo biến tài liệu tham khảo với các nhà điều hành có điều kiện
int& a; // illegal
if (isfive) {
a = 5;
} else {
a = 4;
}
Tuy nhiên, MSVC dường như nghĩ rằng đây là okay:
int& a = isfive ? 5 : 4;
Điều này ngụ ý với tôi rằng MSVC thực sự xử lý toán tử điều kiện như một biểu thức đơn lẻ và không mở rộng nó thành một câu lệnh if-else.
Luôn luôn hợp lệ C++ để khởi tạo tham chiếu bằng toán tử có điều kiện?
Tôi tò mò điều gì sẽ xảy ra nếu bạn cố so sánh nó ở cấp độ lắp ráp ... – beta0x64
Làm thế nào để bạn có thể so sánh trên mã mức độ phức tạp để biên dịch và mã không? –
Nó làm gì? Xin vui lòng gửi lắp ráp! :-) – Florian