1 / 1 / 0
Регистрация: 27.07.2015
Сообщений: 15
|
|
1 | |
Как работает const?07.12.2015, 23:09. Показов 1446. Ответов 3
Метки нет (Все метки)
Каким образом он защищает данные от изменения ? Т.е. это происходит на этапе компиляции; это закладывается в программу в виде дополнительного кода, который отслеживает изменения; это ложится на плечи ОС. Как? Взять например какой-нибудь редактор памяти - он сможет изменить это значение во время работы программы? Чем с точки зрения вычислительной машины const данные отличаются от не-const? Нигде в учебниках такой вопрос не освящается...
0
|
07.12.2015, 23:09 | |
Ответы с готовыми решениями:
3
Как работает идентификатор const? int const * const foo(const int* param) const - разъясните значение квалификаторов Static CONST =10; Как это работает? Не работает set of в разделе const |
07.12.2015, 23:16 | 2 |
Просто компилятор ругается и не дает собрать код в котором видит явное нарушение.
Но никто не мешает грубо использовать const_cast<> или приводить в стиле си, на что компилятор проглотит (продумав про себя сам себе дурак) код без каких либо ошибок со всеми отягчающими последствиями.
0
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
07.12.2015, 23:19 | 3 |
Сообщение было отмечено flaK как решение
Решение
Модификатор const существует только на этапе компиляции.
2
|
07.12.2015, 23:41 | 4 |
Глобальные переменные с признаком const обычно кладутся в специальные секции, которые на этапе исполнения программы попадают в read-only страницы и запись в них будет вызывать слом
Такой код будет работать, т.к. в момент исполнения в нём реально ничего не предпринимается для запрета записи: C int main (void) { const int a = 5; int *p = (int*) &a; *p = 0; return 0; } C const int a = 5; int main (void) { int *p = (int*) &a; *p = 0; return 0; }
2
|
07.12.2015, 23:41 | |
07.12.2015, 23:41 | |
Помогаю со студенческими работами здесь
4
char operator[](unsigned short offset) const; // что означает const? Что это bool operator== (const CLASS&) const; Отрисовка линий движения материальной точки при u_1=const и u_2=const Const в параметрах. Перед чем нужно употребить const дабы обезопасить данные от изменения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |