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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Передача двухмерного массива в функцию http://www.cyberforum.ru/cpp-beginners/thread1306450.html
Товарищи, помогите, пожалуйста, с таким вопросом: Я хочу сделать функции ввода и вывода элементов двухмерного массива, да так, чтобы эти функции были универсальными и принимали аргументы в качестве параметров. Но в описании функции требуется указывать его размерность: void filling_array (arr); Вопрос: как написать функцию, чтобы эти размеры задавались при вызове? Заранее спасибо)
C++ Вывести таблицу значений функции Мастера, помогите написать программу 4 варианта, а то совсем ничего не получается http://www.cyberforum.ru/cpp-beginners/thread1306449.html
Написать функцию для сортировки порядка строк в файле по возрастанию их длины C++
Дан текстовый файл состоящий из некоторого количества строк.написать функцию для сортировки порядка строк в файле по возрастанию их длины
Определить, является ли квадратная матрица симметричной относительно побочной диагонали C++
Собственно столкнулся с проблемой: мне нужно сравнить элементы массива над побочной диагональю и под ней. однако когда при сравнении пишу a так считаются индексы элементов под диагональю при выполнении програмы она дает ошибку. int i,j,k; a=new double*; for(i=0; i<n;i++) { a = new double; } k=0; for(i=1; i<n; i++)
C++ Динамическое программирование. Деревья http://www.cyberforum.ru/cpp-beginners/thread1306433.html
Добрый день. Хотелось бы увидеть реализацию следующей задачи именно через ДП(Кнут и потоки реализовал). Найти паросочетание максимального веса в дереве.
C++ Как изменять параметры объектов формы при событии Доброго времени суток. Столкнулся с проблемой windows forms, допустим у нас есть форма MyForm, какой код надо вписать в MyForm.h, чтобы при *любое событие* форма меняла допустим фон на изображение?, или же просто меняла цвет. подробнее

Показать сообщение отдельно
TheCalligrapher
С чаем беда...
Эксперт С++
 Аватар для TheCalligrapher
2908 / 1444 / 397
Регистрация: 18.10.2014
Сообщений: 2,662
21.11.2014, 01:58     Как создать глобальную константу для всего проекта?
Цитата Сообщение от true_bugmaker Посмотреть сообщение
ТС нигде не указывал таких тонкостей своего проекта.
Я не вижу, какое отношение это может иметь к каким-то "тонкостям проекта". Это фундамент языков С и С++, который всегда присутствует во всех "проектах" без исключения.

Спецификация 'const' объектов целочисленных типов языка С++ специально разработана так, чтобы 'const int N = 42;' при правильном использовании мог выступать в качестве константы времени компиляции, т.е. в качестве замены для '#define N 42' из языка С. '#define' считается слишком грубым инструментом, так как не поддерживает типизации и не подчиняется областям видимости.

В языке С++ (в отличии от С) разрешается использовать 'const' объекты целочисленных типов, например, для задания меток case, ширин битовых полей, размеров любых массивов, инициализаторов enum констант и т.п. Но чтобы 'const' объекты можно было использовать в такой роли глобально в проекте, их инициализаторы должны быть видны во всем проекте. Т.е. поступать придется именно так, как показано в моем примере и платить за это перекомпиляцией всего проекта при изменении значения константы.

А если вам не нужно, чтобы ваша глобальная константа была константой времени компиляции, а была просто "неизменяемой переменной" (как это было в С), то можно пойти по вашему пути через 'extern const' в заголовочном файле.
 
Текущее время: 07:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru