Я делаю проект C++ с main.cpp, который имеет основную функцию, а затем заголовочный файл header.h и файл cpp program.cpp, который имеет методы класса в Это. Поэтому я хотел спросить, есть ли способ объявить переменную, которую я буду использовать в main.cpp, и методы могли бы прочитать ее в program.cpp?Переменная C++, которая может быть использована в любом файле проекта
ответ
Да.
Посмотрите ключевое слово extern
в своей книге на C++.
Также подумайте о том, чтобы не делать этого. Это называется глобальной переменной, и по мере того, как программа растет, глобальные круги становятся легко злоупотребляемыми и становятся источником ошибок, делают тестирование сложнее и т. Д. ... – teroi
Здесь вы найдете глобальную полицию –
Глобальные переменные не рекомендуется вообще, но вы можете сделать это просто следующее в файле заголовка:
extern my_global_type myGlobal;
вы определите myGlobal
в main.cpp
как:
my_global_type myGlobal = \* some init value *\;
и просто использовать он находится в program.cpp
, включив заголовок с вышеуказанным extern
. Вы можете сделать это немного менее глобальным (но не избавиться от всех проблем), поставив myGlobal
в namespace
.
- 1. Аудио библиотека, которая может быть использована для Mono
- 2. переменная, которая не может быть изменена
- 3. Рельсов: Назначить константу, которая может быть использована во всех контроллерах
- 4. Есть бесплатная библиотека PHP, которая может быть использована для captcha
- 5. Как вычислить максимальную память, которая может быть использована приложением java
- 6. Геометки в XML не может быть использована в C#
- 7. Переменная C++, которая может быть изменена только одним способом, возможно?
- 8. C# Переменная, которая не может быть изменена вне функции
- 9. Как объявить глобальную переменную, которая может быть использована во всей программе
- 10. IronPython - Какая база данных может быть использована
- 11. Карта изображения не может быть использована идентификатором?
- 12. команды заполнения не может быть использована
- 13. Firebase импортирована, но не может быть использована
- 14. ошибка говоря system.void не может быть использована из C#
- 15. C++ - переменная, которая может содержать istreams?
- 16. Может ли пользовательский Logger MSBuild быть указан в файле проекта?
- 17. Как preg_match переменная, которая может быть NULL в PHP?
- 18. C# переменная, которая не может быть изменена, но должны быть парафированы в конструкторе
- 19. Глобальная переменная, определенная в файле не может быть изменен
- 20. Config заявление не может быть использована внутри пользовательской транзакции
- 21. Может ли рабочий каталог быть установлен в файле проекта (.vcproj)?
- 22. Может ли «testBuildType» быть условным в файле build.gradle проекта Android?
- 23. Возвращаемое значение не может быть использована в этом контексте
- 24. есть ли какая-либо формула, которая может быть использована для дублирования определенной ячейки, указанной числом раз?
- 25. имен :: функция не может быть использована в качестве функции
- 26. C++ строки, которая может быть NULL
- 27. Как сохранить одну базу данных, которая может быть использована приложением Android и автономным приложением
- 28. Как реализовать глобальную функцию, которая может быть использована в нескольких функций нг-клик в угловой
- 29. Как инициализировать SDL в библиотеке, которая может быть использована программой уже в зависимости от SDL?
- 30. с - предупреждение: указатель аргумент функции может быть использована неинициализированным
Возможно, вы не должны этого делать: см. [C++ faq] (http://www.parashift.com/c++-faq/global-vars.html) –