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