Кроме того, что именованные константы делают программу легче для восприятия, они еще и облегчают модификацию программ. Например, следующий фрагмент кода несколько раз ссылается на число 50 (количество студентов в классе):
#include <iostream.h>
void main(void)
{
int test_score8[50];
char grades[50];
int student;
for (student = 0; student < 50; student++) get_test_score(student);
for (student =0; student < 50; student++) calculate_grade(student);
for (student =0; student < 50; student++) print_grade(student);
}
Предположим, например, что количество студентов в классе увеличилось до 55. В этом случае потребуется отредактировать предыдущую программу, чтобы заменить каждый экземпляр значения 50 значением 55. В следующей программе применен другой подход, она использует именованную константу CLASS_SIZE:
#include <iostream.h>
#define CLASS_SIZE 50
void main(void)
{
int test_scores[CLASS_SIZE];
char grades[CLASS_SIZE];
int student;
for (student = 0; student < CLASS_SIZE; student++) get_test_score(student);
for (student = 0; student < CLASS_SIZE; student++) calculate_grade(student);
for (student = 0; student < CLASS_SIZE; student++) print_grade(student);
}
В данном случае для изменения количества студентов во всей программе необходимо изменить только одну строку, которая содержит директиву #define, определяющую эту константу:
#define CLASS_SIZE 55