Theo chuẩn C++ một chuỗi loại đen là array of const char
C++ đúng đắn const với xâu
auto constStr = "aaa";
char* nonConstStr = constStr; //Error here, cannot convert from 'const char *' to 'char *'
char* stillNonConstStr = "aaa"; //Why I don't have error here?
bạn có thể vui lòng giải thích cho tôi tại sao trên dòng thứ 3 tôi không nhận được một lỗi?
@Rapptz Tôi dường như không thể tìm thấy cùng một mệnh đề cho phép "chuyển đổi tương thích ngược" giống nhau trong tiêu chuẩn C++ 11. Tôi đoán nó đã được gỡ bỏ, do đó, câu hỏi liên kết không thực sự là một bản sao ngày nay. – Angew
Bởi vì nó là thích hợp hơn để cho phép nó như nó đã được cho phép trong lịch sử hơn để phá vỡ hàng ngàn chương trình hiện có. –
@Rapptz Câu hỏi + câu trả lời về C trùng lặp một câu hỏi về C++ như thế nào? Đặc biệt là trong một khu vực mà hai ngôn ngữ thực sự khác nhau. – Angew