La section $7.3.1.1/2 de la norme C++ se lit comme suit,
L'utilisation du mot clé static est déprécié lors de la déclaration d'objets dans un espace de noms ; l'espace de noms non nommé fournit une alternative supérieure.
Je ne comprends pas pourquoi l'espace de noms sans nom est une alternative supérieure ? Quel est le raisonnement ? Je savais depuis longtemps ce que dit la norme, mais je n'ai jamais réfléchi sérieusement à la question, même lorsque j'ai répondu à cette question : Supériorité des espaces de noms non nommés sur les espaces statiques ?
Est-il considéré comme supérieur parce qu'il peut également être appliqué à des types définis par l'utilisateur, comme je l'ai décrit dans mon document intitulé réponse ? Ou bien y a-t-il une autre histoire dont je ne suis pas au courant ? Je pose cette question, notamment parce que c'est ce que je pense dans ma réponse, alors que le Standard a peut-être autre chose en tête.