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

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

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

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

02.09.2011, 10:12. Просмотров 2886. Ответов 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[];
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.09.2011, 10:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Глобальная константа (C++):

Константа - C++
Hello, world! Сышал когда-то где-то на просторах интернета (кстати где-то на этом форуме), что якобы можно обмануть компилятор и присвоить...

Константа. - C++
Надо найти константу(количество строк) в будущей матрице, если известно сколько элементов будет и количество столбцов. И тогда как...

Константа Пи в С++ - C++
Как записать константу Пи (3.14......) в С++, переменная M_PI с библиотеки Math не работает почему то, подскажите что делать .

Константа - C++
Извините))) я совсем новичок. Как мне описать константу? х=2.4

Константа в классе - C++
Что-то у нас с компилятором какое-то недопонимание. #include <iostream> using namespace std; class Foo{ public: Foo(); ...

Строковая константа - C++
Вопрос: Непонятно почему можно так инициализировать строки, например char *szString = "Это строка"?

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.09.2011, 10:12
Привет! Вот еще темы с ответами:

Математическая константа Е - C++
Привет всем:) У меня трудности с математикой.Нужно вычислить константу Е по формуле " е = 1 + 1/!1 + 1/!2 + 1/!3 и ...... Заранее спасибо:)...

Константа типа short - C++
Как в программе задать константу типа short? Чтобы понятнее было приведу индефикаторы, которые в результате дают соответствующий тип...

Unicode строка-константа - C++
Как задать?

Ошибка константа. как исправить? - C++
помогите пожалуйста, как убрать эту ошибку?


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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