Разница между 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

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