Зло
Просветленный
(38821)
11 лет назад
extern cоnst int i = 5;
cоnst int i = 5;
это бред сивой кобылы =)
стало легче? =))
extern означает, что сейчас мы будем использовать хренотень, которая описана в другом месте. сейчас мы это место с помощью #include не подключаем, но когда понадобится - обязательно подключим ( ну, или место это находится ниже по коду )
ЗлоПросветленный (38821)
11 лет назад
накосячил, пьян.
вместо
extern class B;
правильно просто
class B;
но смысл тот же самый
Вадим Орлов
Ученик
(221)
11 лет назад
Как правило, extern используют для переменных и констант, описанных в другом модуле.
То есть если глобальная переменная используется в нескольких модулях, то в одном
модуле её описывают напрямую, а в остальных - через extern.
Что касается глобальных констант, то их удобнее определять через #define и хранить
в одном h-файле, который включать через #include во все нужные модули.
Объясните пожалуйста, в чем разница между объявлениями:
extern const int i = 5;
const int i = 5;
Переменные объявляются в заголовочном файле, этот файл подключается к программе и константа выводится на экран. В книге "Философия C++" было написано, что инструкция "const int i" не позволит пользоваться этой переменной в других файлах, поэтому нужно писать "extern const int i". Однако переменная видна в любых исходных файлах, в которых я подключаю заголовок, содержащий эту константу.
Среда: Dev-C++ 4.9
Также буду рад, если кто-нибудь объяснит мне вообще смысл слова "extern" в C++ и ситуации, в которых следует его применять.