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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Fasterbru
5 / 5 / 2
Регистрация: 18.11.2014
Сообщений: 81
#1

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

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

как создать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2014, 22:43     Как создать глобальную константу для всего проекта?
Посмотрите здесь:

C++ Как обьявить глобальную переменную в функции?
C++ Где хранить глобальную переменную для всех представлений?
C++ Как и где описать глобальную переменную?
C++ Как обьявить глобальную переменную
C++ Как правильно объявить константы для всего проекта, который состоит из нескольких файлов
Как глобальную переменную засунуть в структуру? C++
Как создать глобальную переменную? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Somebody
2777 / 1591 / 142
Регистрация: 03.12.2007
Сообщений: 4,169
Завершенные тесты: 1
21.11.2014, 21:27     Как создать глобальную константу для всего проекта? #21
Цитата Сообщение от 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 приняли как дополнение к стандарту или что-то типа того, но найти его не могу...
VIKT0R
8 / 8 / 2
Регистрация: 15.11.2011
Сообщений: 81
21.11.2014, 22:00     Как создать глобальную константу для всего проекта? #22
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
const char *const MY_GLOBAL_STRING = "Hello";
Здесь опечатка?


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

C++
1
static char * GLOBAL_STRING = "hello";
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3536 / 1811 / 477
Регистрация: 18.10.2014
Сообщений: 3,335
21.11.2014, 22:30     Как создать глобальную константу для всего проекта? #23
Цитата Сообщение от VIKT0R Посмотреть сообщение
Здесь опечатка?
Какая опечатка? Нет, там нет никаких опечаток.

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

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

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

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

C++
1
static const char * GLOBAL_STRING = "hello";
MrGluck
Ворчун
Эксперт CЭксперт С++
6440 / 3638 / 452
Регистрация: 29.11.2010
Сообщений: 9,614
22.11.2014, 02:49     Как создать глобальную константу для всего проекта? #24
Цитата Сообщение от gromo Посмотреть сообщение
константы обычно заводят для того, чтобы можно было быстренько поменять их значение и проверить работу программы.
Нет. Обычно они заводятся для того, чтобы явно назвать то или иное значение, а также для централизованного управления (чтобы задавать одинаковые параметры, размеры и т.д.)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2014, 03:58     Как создать глобальную константу для всего проекта?
Еще ссылки по теме:

Как лучше всего создать форму в С++ C++
Как создать release проекта в MS Visual Studio? C++
C++ Как проще всего создать множество?
C++ Как создать 2 проекта в одном solution в Visual Studio?
C++ Как правильно создать глобальную переменную?

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

Или воспользуйтесь поиском по форуму:
gromo
370 / 269 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
22.11.2014, 03:58     Как создать глобальную константу для всего проекта? #25
Цитата Сообщение от MrGluck Посмотреть сообщение
а также для централизованного управления (чтобы задавать одинаковые параметры, размеры и т.д.)
Это я и написал, только немного другими словами. То есть используя скилл "централизованное управление" быстренько меняем значение и смотрим на результат.
Забыл, правда, упомянуть про мнемонические названия, которые обретают магические числа, соотнеся мы их с константами, но это уже сделали вы.
Yandex
Объявления
22.11.2014, 03:58     Как создать глобальную константу для всего проекта?
Ответ Создать тему
Опции темы

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