Server for Information Technologies Книжный магазин 'Мистраль'
Сервер содержит море(!) аналитической информации
Поддерживается Центром Информационных Технологий

Статус MCSE за 720 долларов!
Клубная система обучения гарантирует результат!

Снижена цена на ListSoft & Citforum CD-ROM Конференция
Интернет-Маркетинг'Осень99

 

Массив констант

Как уже известно, имя массива является константным указателем. Именно поэтому и невозможно копирование массивов с помощью простого оператора присвоения. Константный указатель "охраняет" область памяти, выделенную для размещения данного массива. При этом значения элементов массива можно изменять в ходе выполнения программы. Защитить их от изменения можно с помощью дополнительного спецификатора типа const. При этом массив должен быть проинициализирован непосредственно в момент определения:

const int cIntArray[] = {0,1,2,3,4,5,6,7,8,9};

Это аналог константного указателя на массив констант. Попытки изменения значения элементов массива пресекаются на этапе компиляции.

cIntArray[5] = 111; // Ошибка.

А вот от скрытого изменения значения элементы массива констант уберечь не удаётся.

const char cCH[] = "0123456789";
char CH[] = "0123456789";
CH[15] = 'X';
/* Выполнение этого оператора ведёт к изменению строки cCH. */
cout << cCH << endl;

Транслятор не занимается проверкой корректности выполняемых операций. На этапе выполнения программы язык C++ не предоставляет никаких средств защиты данных.

Назад | Содержание | Вперед

 

Home Каталог ресурсов Поиск Рубрикатор FTP-архив Subscribe

Комментарии: info@citmgu.ru
Newman    Книжный магазин Mistral Copyright ©