D
DevStream: C++ & Go
@CPlusGoDevStream7 подп.
13просмотров
29 июля 2024 г.
Score: 14
Ключевое слово extern Данное ключевое слово применимо только к глобальным переменным. В чем заключается отличие extern int i от int i в глобальной области видимости и какую проблему оно решает? Например у нас есть 2 файла main.cpp и base.cpp. В base.cpp у нас есть глобальная переменная a = 5. Мы хотим использовать эту переменную в main.cpp и как раз в этом случае нам на помощь приходит ключевое слово extern. Отличие заключается в том, что int i делает объявление и определение. extern int i смотрит по всем подключенным файлам и как бы делает указатель на переменную в другом файле, чтобы использовать значение переменной в данном translation unit. В сppreference написано, что объявления с внешней связью обычно доступны в заголовках, так что все единицы перевода, которые включают файл, могут ссылаться на тот же идентификатор, который определен в другом месте. То есть когда мы используем extern дублируется только сигнатура функции, а сама реализация будет связана между 2 файлами линкером. #cpp
13
просмотров
1005
символов
Нет
эмодзи
Нет
медиа

Другие посты @CPlusGoDevStream

Все посты канала →
Ключевое слово extern Данное ключевое слово применимо только — @CPlusGoDevStream | PostSniper