Gần đây tôi đã đi qua đoạn mã bí truyền sau đây.
int main(){(([](){})());}
Định dạng lại nó như sau để dễ đọc hơn:
int main(){
(([](){})()); // Um... what?!?!
}
Nhưng tôi không thể hiểu được (([](){})())
mã hợp lệ như thế nào .
- Nó không giống như cú pháp con trỏ hàm.
- Nó không thể là một số thủ thuật quá tải nhà điều hành. Mã biên dịch như là.
Google đã không giúp nhiều cho việc tìm kiếm tất cả các biểu tượng này. Nhưng nó biên dịch trong Visual Studio 2010 và không cho ra kết quả gì. Không có lỗi, và không có cảnh báo. Vì vậy, nó trông giống như mã hợp lệ.
Tôi chưa từng thấy bất kỳ mã hợp lệ mà là bên ngoài rất kỳ lạ của Javascript và C con trỏ hàm .
Ai đó có thể giải thích làm thế nào điều này là C ++ hợp lệ?
Don't sweat it. We have int main(){(([](){})());} which is valid C++"
(Ngày 9 tháng 11 trong trò chuyện)