Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.70
ht1515
шарпопочитатель
58 / 25 / 1
Регистрация: 31.01.2010
Сообщений: 936
#1

Глобальная константа - C++

02.09.2011, 10:12. Просмотров 2665. Ответов 0
Метки нет (Все метки)

Глобальные константы

В С глобальная константа, т. е. инициализированная глобальная переменная с модификатором const, имеет своей областью действия всю программу (доступна для внешней компоновки), как и любая переменная без const. Другими словами, ее имя заносится в список глобальных символов объектного модуля и поэтому к ней можно обращаться из любого другого исходного файла программы.

В C++ областью действия глобальных констант является текущий файл, аналогично глобальным переменным static. Для того, чтобы к глобальной константе можно было обращаться из других компилируемых модулей, она должна быть определена как extern const, например:

extern const double eConst = 2.718281828;

В модулях, которые будут обращаться к такой константе, она, как и в С, должна быть объявлена внешней:

extern const double eConst;

Такое поведение глобальных констант C++ упрощает их объявление. Можно поместить определение константы (без extern) в заголовочный файл и включать его во все исходные модули, где она используется. Тем самым будет генерированы отдельные константы для каждого модуля, с одним именем и одинаковыми значениями. В С такие объявления вызывали бы ошибку дублирования определения.

а что если
в модуле будет так:
C++
1
2
extern const double eConst;
extern int massive[eConst];
?
или писать надо
C++
1
extern int massive[];
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.09.2011, 10:12     Глобальная константа
Посмотрите здесь:

C++ Константа
Строковая константа C++
Константа. C++
C++ Unicode строка-константа
Ошибка константа. как исправить? C++
Что значит функция константа? C++
C++ Константа
C++ Математическая константа Е
C++ Константа в классе, инициализируемая в конструкторе
Константа типа short C++
Константа Пи в С++ C++
C++ Константа в классе

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 04:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru