В приложении с несколькими источниками C, которое является лучшим местом для размещения постоянных значений, самого исходного файла или его заголовочного файла? При условии, что константа будет использоваться только в этом исходном файле.Лучшее место для размещения констант
Это хороший способ сохранить
static const
в заголовочных файлах?
4
A
ответ
5
Не предоставлять информацию вам не нужно. Если константа является деталью реализации единой единицы компиляции, нет необходимости загрязнять глобальное пространство имен. Вы всегда можете добавить его в заголовок позже, если это необходимо.
В зависимости от характера постоянных.
static
создает новую константу для каждого заголовка блока компиляции. Если константа огромна, лучше определить ее один раз в исходном файле и объявить ее сextern
в заголовке.
Смежные вопросы
- 1. Лучшее место для размещения onSharedPreferenceChangeListener
- 2. Лучшее место для размещения XSD
- 3. Где лучшее место для размещения пользовательских разработок
- 4. Лучшее место/файл для размещения rewrite_rules_array hook
- 5. moodle - лучшее место для размещения общей логики
- 6. Лучшее место для размещения данных приложения?
- 7. Лучшее место для размещения общих функций?
- 8. Drupal: Лучшее место для размещения drupal_goto
- 9. ASP.NET MVC лучшее место для размещения констант (с точки зрения TDD)
- 10. Перемещение веб-сайта в doteasy - лучшее место для размещения констант базы данных?
- 11. Где лучшее место для хранения констант в приложении iOS?
- 12. Какое лучшее место для объявления констант, в классе или интерфейсах?
- 13. Лучшее место для размещения ресурсов изображения для приложения vaadin?
- 14. Лучшее место для размещения сторонних DLL для ссылок
- 15. Лучшее место для размещения слушателя событий в AS3
- 16. Windows 10: лучшее место для размещения командной строки
- 17. Лучшее место для размещения javascript в wordpress function.php или function.js
- 18. Лучшее место для размещения событий Cordova/Phonegap в AngularJS
- 19. JQuery: лучшее место для размещения обработчиков тегов html
- 20. Лучшее место для размещения кода прототипа в проекте Flex
- 21. FW/1 Лучшее место для размещения дополнительных функций?
- 22. Лучшее место для размещения «Автозапуска» другого кода операции?
- 23. Лучшее место для размещения versionCode/versionName? build.gradle vs AndroidManifest.xml
- 24. Лучшее место для размещения генераторов SelectListItem в приложении ASP.NET MVC
- 25. Android - Где лучшее место для размещения «addProvider»/код «Security.insertProviderAt» линия
- 26. Лучшее место для размещения операторов SQL в Java
- 27. Где лучшее место для размещения кода сохранения/загрузки NSUserDefault?
- 28. Лучшее место для размещения реализаций IRouteConstraint в ASP.NET MVC?
- 29. Лучшее место для документации NHibernate?
- 30. Лучшее место для Rails ParameterMissing
Спасибо, что бы вы предложили, если мы хотим разделить переменную константы на нескольких исходных блоках? В заголовках или исходном файле? –
@AbhishekKumar Это зависит от использования. Если вам нужно использовать его в постоянных выражениях, вам нужно использовать препроцессор '# define' или' enum'. Для констант времени выполнения: используйте 'static const' в исходном файле для локальных констант или для глобальных констант, нестатических' const' в исходном и 'extern const' этого в заголовке. Вы также можете использовать 'static const' в заголовке для небольших констант, если по какой-то причине постоянная переменная должна иметь внутреннюю связь. Поэтому, чтобы ответить на ваш вопрос, для глобальной константы * variable *, определите ее в источнике и объявите ее как «extern const» в заголовке. – user694733
Я не хочу использовать константы на основе #define, потому что они не предлагают никакой безопасности типов. Я хочу, чтобы в проекте был создан отдельный файл заголовка (и нет исходного файла) только для хранения значений ошибок в виде целых чисел в терминах const int. Можете ли вы объяснить немного больше, когда говорите: «Вы также можете использовать заголовок для небольших констант, если по какой-то причине постоянная переменная должна иметь внутреннюю связь». Почему для меньших констант? И есть ли разница, если я использую/не использовать статическое ключевое слово в константах файла заголовка. –