Nó có vẻ là một câu hỏi ngớ ngẩn nhưng tôi thực sự cần phải làm rõ điều này:C++ const cast, không chắc chắn nếu điều này là an toàn
Điều này có gây nguy hiểm cho chương trình của tôi không?
Có cần const_cast
không?
Nếu tôi thay đổi giá trị con trỏ đầu vào tại chỗ nó sẽ hoạt động an toàn với std::string
hoặc nó sẽ tạo ra hành vi không xác định?
Cho đến nay, mối quan tâm duy nhất là điều này có thể ảnh hưởng đến chuỗi "some_text" bất cứ khi nào tôi sửa đổi con trỏ đầu vào và làm cho nó không sử dụng được.
std::string some_text = "Text with some input";
char * input = const_cast<char*>(some_text.c_str());
Cảm ơn đã cho tôi một số gợi ý, tôi muốn tránh chụp ở chân của riêng tôi
Nói chung, vì 'const_cast' loại bỏ an toàn, bạn nên tránh nó càng nhiều càng tốt. – Mesop
Cảm ơn sự đóng góp của mỗi cơ quan tôi hiểu rằng tôi nên tránh điều này để giữ an toàn –