Ví dụ:Tại sao chữ L được sử dụng để chỉ chuỗi ký tự rộng?
wchar_t* str = L"hello";
Tại sao "L" và không có ký tự khác?
Ví dụ:Tại sao chữ L được sử dụng để chỉ chuỗi ký tự rộng?
wchar_t* str = L"hello";
Tại sao "L" và không có ký tự khác?
Điều này có thể do hậu tố L
được sử dụng trên các hằng số nguyên. Dường như đây là trường hợp tái sử dụng hậu tố hiện có làm tiền tố. Câu trả lời khác là điều này được thiết kế theo ủy ban. Đừng hỏi. Câu trả lời thứ ba là thư hoặc cơ chế nào khác mà bạn đã chọn, và bạn có thể biện minh cho nó chống lại quy ước L
không? Tranh luận cả cho và chống lại.
Tồi tệ hơn việc sử dụng lại L
là tái sử dụng các từ khóa như static
và auto
với ý nghĩa mới. :)
Nhân tiện, điều này được đề cập đến trong cơ sở lý luận cho ANSI C (từ năm 1989). Họ không giải thích tại sao L được chọn. Chỉ có điều này:
Tiền tố L phân biệt các chuỗi chữ rộng. Ký hiệu tiền tố (như trái ngược với hậu tố) đã được chấp nhận sao cho một dịch giả có thể biết khi bắt đầu xử lý chuỗi ký tự dài cho dù nó đang xử lý các ký tự bình thường hoặc rộng. (Xem §2.2.1.2.)
Mục 2.2.1.2 không đưa ra manh mối bổ sung.
MSDN tuyên bố nó là viết tắt của chuỗi Literal, tức là chuỗi ký không nên được dịch sang bất cứ điều gì khác
** L ** là viết tắt của ** Wide **, rõ ràng. –
@JamesMcNellis rõ ràng? – kiewic
@Kiewic hiển nhiên! –