Показать сообщение отдельно
Старый 15.05.2014, 20:04   #5
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: delete [] const char

Сообщение от impersonalis Посмотреть сообщение
Меня всё устраивает, я ко всему привык, я это знаю. НО. Не кажется ли вам это слегка нелогичным?
Ну почему, почему одновременно:
1) нельзя менять данные, адресуемые указателем const char *
2) можно высвободить память, адресуемую указателем const char *
Потому что память высвобождает система (например вызовом через WinAPI), до вызова ничего противозаконного не происходит, а компилятор не имеет представление что внутри winapi творится, ведь dll линкуется во время запуска приложения.

И кстати delete можно перегрузить так, что он ничего менять/удалять не будет.

Идея ооп также заключается в том что ты сам должен позаботиться чтобы деструктор корректно удалил данные не испортив их.

А также имхо квалификаторы в с++ в целом для программиста - их всегда можно поменять кастами.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
falcon (27.05.2014)