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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Передача двухмерного массива в функцию http://www.cyberforum.ru/cpp-beginners/thread1306450.html
Товарищи, помогите, пожалуйста, с таким вопросом: Я хочу сделать функции ввода и вывода элементов двухмерного массива, да так, чтобы эти функции были универсальными и принимали аргументы в...
C++ Вывести таблицу значений функции Мастера, помогите написать программу 4 варианта, а то совсем ничего не получается http://www.cyberforum.ru/cpp-beginners/thread1306449.html
Определить, является ли квадратная матрица симметричной относительно побочной диагонали C++
Собственно столкнулся с проблемой: мне нужно сравнить элементы массива над побочной диагональю и под ней. однако когда при сравнении пишу a так считаются индексы элементов под диагональю при...
Динамическое программирование. Деревья C++
Добрый день. Хотелось бы увидеть реализацию следующей задачи именно через ДП(Кнут и потоки реализовал). Найти паросочетание максимального веса в дереве.
C++ Как изменять параметры объектов формы при событии http://www.cyberforum.ru/cpp-beginners/thread1306432.html
Доброго времени суток. Столкнулся с проблемой windows forms, допустим у нас есть форма MyForm, какой код надо вписать в MyForm.h, чтобы при *любое событие* форма меняла допустим фон на...
C++ написать программу, выводящую все сочетания чисел массива Пример: Массив - 1 7 9 Вывод - 17 19 79 71 91 97 179 197 719 791 917 971 подробнее

Показать сообщение отдельно
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
4009 / 2232 / 557
Регистрация: 18.10.2014
Сообщений: 3,852
21.11.2014, 00:29
Цитата Сообщение от true_bugmaker Посмотреть сообщение
Если объявлять эту константу каждую в своём модуле, и вдруг придётся её менять, будет худо.
В языке C++ (в отличие от С) явно инициализированные 'const' объекты целочисленных типов образуют Integral Constant Expressions. Это настолько ценное свойство целочисленных 'const' объектов, что пожертвовать им мы не можем и ради него будем объявлять такие константы именно так, как я показал.

Разумеется, надо следить за глобальностью констант и ограничивать ее до минимальной необходимости. Т.е. не совать в действительно глобальные заголовки то, что там не нужно.

Цитата Сообщение от true_bugmaker Посмотреть сообщение
Если константу объявить в общем заголовочном файле, линковщик грязно выругается на обилие одинаковых глобальных имён.
Неправда. В языке С++ (в отличие от С) 'const' объекты имеют внутреннее связывание по умолчанию. Никакой ругани от линковщика не будет. Более того, современный компилятор вообще не создаст такого объекта в памяти, если константа нигде не используется как lvalue.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.