Может ли кто-нибудь объяснить, когда вы должны использовать ключевое слово static перед глобальными переменными или константами, определенными в файлах заголовков?
Например, допустим, у меня есть файл заголовка со строкой:
const float kGameSpriteWidth = 12.0f;
Должно быть static
перед const
или нет? Каковы лучшие практики использования static
?
static
подразумевается (т.е.static
по умолчанию) для всехconst
-квалифицированных переменных глобального пространства имен, хотя я бы порекомендовал квалифицировать его какstatic
независимо от того, что намерение проясняется. - person abc   schedule 22.02.2020extern
для обмена переменными между исходными файлами? В ответах объясняется, как делиться значениями и ключом часть использует заголовок для объявления (но не определения) переменных, которые являются общими. Если у вас нет заголовка для объявления, определение переменной должно быть статическим. Если у вас есть для него заголовок, включите заголовок как там, где определена переменная (это будет только один исходный файл), так и там, где она используется (может быть много исходных файлов). - person Jonathan Leffler   schedule 03.05.2020