Цитата(andrew_b @ Jan 25 2012, 08:36)

Нет, переменные. И функции тоже. Про константы утверждать не буду, но скорее всего, тоже.
ключевое слово const ( а также typedef ) дает имени внутреннее связывание.
при использовании имен без headers, например, в файле 1.с
const int a = 5;
то a имеет внутреннее связывание.
для того, чтобы а имела внешнее связывание, нужно
в файле 1.с
объявить a как extern;
Код
extern const int a; // переменная a теперь будет иметь внешнее связывание
и определить переменную:
Код
const int a = 777; // определяем a
теперь, для использования a в других единицах трансляции нужно просто объявить переменную
файл 2.с:
Код
extern const int a; // далее, можем использовать a
тоже самое достигается путем headera
теперь,
если же мы определяем в header что-то типа:
const int b = 10;
и включаем это header в различные единицы трансляции,
то в каждой единице трансляции создается своя локальная копия b
Сообщение отредактировал am1808 - Feb 3 2012, 10:13