Разница между extern для переменной и константной переменнойC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Разница между extern для переменной и константной переменной

Сообщение Anonymous »

Ключевое слово extern похоже на предварительное объявление или неопределенную/реализованную сигнатуру функции.
Оно говорит: «есть эта переменная, и она может находиться в другом переводе». единица, НО Я НЕ ОПРЕДЕЛЯЮ ЗДЕСЬ".
Константные переменные имеют внутреннюю связь. Если я хочу, чтобы у него была внешняя связь, мне нужно указать «extern»:

Код: Выделить всё

extern const int my_constant = 7;
Правда? А слово «extern» здесь имеет совершенно другое значение, по сути оно означает «экспорт в другие единицы перевода», верно?
И вот у вас есть случай, когда «форвардное объявление» выглядит так:< /p>

Код: Выделить всё

extern const int my_constant;
И определение выглядит так:

Код: Выделить всё

extern const int my_constant = 7;
Значит, разница между предварительным объявлением и определением с константным типом заключается в простой инициализации, верно? Другими словами:

Код: Выделить всё

"extern" on a non const variable is a forward declaration, "extern" on a const variable means "export"
Правда?

Подробнее здесь: https://stackoverflow.com/questions/791 ... t-variable
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»