Dlaczego C ++ wprowadził jakiekolwiek rozróżnienie między statycznymi globałami (powiązanie wewnętrzne) a symbolami w nienazwanej przestrzeni nazw (powiązanie zewnętrzne, ale w żaden sposób nie można odwoływać się do niego z zewnątrz), wprowadzając to drugie?
Czy któryś z tych powodów jest nadal aktualny, czy też są nowe?
Czy są jeszcze miejsca, w których są jeszcze różne, ale arbitralna zasada, że muszą istnieć anonimowe związki globalne (lub zakres nazw)
static
i jakie są?W przypadku punktów bonusowych, jeśli nie ma dobrych powodów, aby były różne, czy istnieje prośba o ich wyrównanie?
Kiedy C ++ wprowadził przestrzenie nazw (C ++ 98), a konkretnie przestrzenie bez nazw, globalne statyczne zostały przestarzałe jako przestarzałe i gorsze od nowej rzeczy z entuzjazmem, choć zostało to cofnięte w C ++ 11 :
wycofanie statycznego słowa kluczowego… już nie?
W wersjach wcześniejszych niż C ++ 11 nie można było używać symboli z wewnętrznym łączeniem jako argumentów-szablonów: Dlaczego C ++ 03 wymagał parametrów szablonu, aby mieć zewnętrzne powiązanie?