Почему строковые литералы const?

Известно, что в C ++ строковые литералы являются неизменными, и результат изменения строкового литерала не определен. Например

char * str = "Hello!";
str[1] = 'a';

Это приведет к неопределенному поведению.

Кроме того, строковые литералы помещаются в статическую память. Таким образом, они существуют в течение всей программы. Я хотел бы знать, почему строковые литералы имеют такие свойства.

Ответы на вопрос(5)

Ваш ответ на вопрос