2015-03-18 10 views
0

У меня есть некоторые постоянные переменные, которые я хочу быть глобальными, а некоторые из них должны быть доступны только в файле, где определены. Поэтому я использую Экстерн и статические ключевые слова, например:Область переменной (const), если она не определена как внешняя или статическая

extern const int kMaxHealth = 100; 
static NSString * const kName = @"Name"; 

Это просто пример, и те, которые определены в разных файлах, так что это не реальная ситуация ...

Но что такое объем переменной, когда определяется без модификаторов, например:

const int kMaxHealth = 100; 

сейчас находится kMaxHealth ехЬегп, или статические, или некоторые другие сферы?

ответ

2

Он имеет ту же область действия, что и нормальная переменная, без const, но не позволяет назначать новое значение переменной.

+0

О да, глупо меня! :) – Whirlwind

1
const int kMaxHealth = 100; 

kMaxHealth - это всего лишь глобальная переменная. Нестатическая переменная, определенная в области файлов, может иметь внешнюю связь. Например, в любом файле заголовка вы можете использовать его как -

extern const int kMaxHealth;