Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.57/76: Рейтинг темы: голосов - 76, средняя оценка - 4.57
5 / 5 / 4
Регистрация: 18.11.2014
Сообщений: 81

Как создать глобальную константу для всего проекта?

20.11.2014, 22:43. Показов 16359. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как создать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.11.2014, 22:43
Ответы с готовыми решениями:

Как создать константу для нескольких файлов проекта
Создал константу, если писать в несколько заголовочных файлов а потом инклюдить в один вызывается ошибка

Как создать глобальную константу для объекта
Может я просто терминологию где-то неверно использую - заранее не кидайтесь пустыми бутылками))) Есть 5 процедур, работающих с 3...

Как объявить глобальную переменную для всего проекта?
Как объявить переменную для всего проекта, а не для одной формы или блока? То, что в VB делается в модуле.

24
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
21.11.2014, 21:27
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
"T is called the array element type; this type shall not be a reference type, the (possibly cv-qualified) type void, a function type, an array of unknown or runtime bound, or an abstract class type."
Это откуда? Читаю n3936.pdf - про VLA ни слова. Кажется, VLA приняли как дополнение к стандарту или что-то типа того, но найти его не могу...
0
9 / 9 / 5
Регистрация: 15.11.2011
Сообщений: 115
21.11.2014, 22:00
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
const char *const MY_GLOBAL_STRING = "Hello";
Здесь опечатка?


А так можно написать в заголовочном файле?

C++
1
static char * GLOBAL_STRING = "hello";
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
21.11.2014, 22:30
Цитата Сообщение от VIKT0R Посмотреть сообщение
Здесь опечатка?
Какая опечатка? Нет, там нет никаких опечаток.

Цитата Сообщение от VIKT0R Посмотреть сообщение
А так можно написать в заголовочном файле?
C++
1
static char * GLOBAL_STRING = "hello";
Почти.

Во-первых, именно с точки зрения ODR - разумеется, можно. Получится самостоятельная внутренняя переменная в каждой единице трансляции.

Во-вторых, сам указатель - это теперь не константа, а полноценная переменная. Это криво по тем же причинам, по которым кривы глобальные переменные. Я бы не стал делать такого без очень большой и очень специфической необходимости.

В-третьих, приведение типа строкового литерала к 'char *' в С++ уже запретили (в С++11), т.е. ваш код неправилен. Надо как минимум

C++
1
static const char * GLOBAL_STRING = "hello";
1
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
22.11.2014, 02:49
Цитата Сообщение от gromo Посмотреть сообщение
константы обычно заводят для того, чтобы можно было быстренько поменять их значение и проверить работу программы.
Нет. Обычно они заводятся для того, чтобы явно назвать то или иное значение, а также для централизованного управления (чтобы задавать одинаковые параметры, размеры и т.д.)
0
 Аватар для gromo
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
22.11.2014, 03:58
Цитата Сообщение от MrGluck Посмотреть сообщение
а также для централизованного управления (чтобы задавать одинаковые параметры, размеры и т.д.)
Это я и написал, только немного другими словами. То есть используя скилл "централизованное управление" быстренько меняем значение и смотрим на результат.
Забыл, правда, упомянуть про мнемонические названия, которые обретают магические числа, соотнеся мы их с константами, но это уже сделали вы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.11.2014, 03:58

Как объявить глобальную константу?
Пример из хелпа не работает: ' Declare Public constant. Public Const MyString = 'HELP'

Как qt создать глобальную переменную для двух классов?
Как qt создать глобальную переменную для двух классов, которой не будет в mainwindow.cpp?

Как создать глобальную переменную для доступа из других файлов?
TStringList* SL = new TStringList; Как создать не в функции, а как глобальную переменную для доступа из других файлов?

Как сделать указатель глобальным для всего проекта?
При компиляции выдает следующее Checking project dependencies... Compiling Project1.cbproj (Debug, Win32) bcc32 command line for...

Как объявить переменную для доступа на уровне всего проекта
Имеется программа, в которой вычисляются массивы: ReDim A#(i), B#(i) Как мне сделать так, чтоб к ним я мог обращаться из другой формы? ...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru