Чому C ++ зробив якусь різницю між статичними глобальними (внутрішні зв’язки) та символами в неназваному просторі імен (зовнішній зв'язок, але жодним чином не посилатися на нього ззовні все-таки) при введенні останнього?
Чи є якась із цих причин все-таки дійсною чи є нові?
Чи залишилися місця, де вони все ще відрізняються, але довільне правило про те, що повинні бути анонімні глобальні об'єднання (або простору імен)
static
, і які вони?Якщо бонусні бали не мають жодних вагомих причин, щоб вони були різними, чи є прохання зробити їх рівнозначними?
Коли C ++ запровадив простори імен (C ++ 98), а конкретно безіменні простори імен, статичні глобалі були виснажені як застарілі та поступалися новій справі з великим ентузіазмом, хоча це було відмінено C ++ 11 :
Позбавлення статичного ключового слова… не більше?
Перед C ++ 11 символи з внутрішнім зв’язком не можна було використовувати як аргументи шаблону: Чому для C ++ 03 потрібні параметри шаблону для зовнішнього зв’язку?