C++ 標準のセクション $7.3.1.1/2 には次のように書かれています。
名前空間スコープでオブジェクトを宣言する場合、 static キーワードの使用は非推奨です。名前のない名前空間は優れた代替手段を提供します。
名前のない名前空間が優れた代替手段と見なされる理由がわかりませんか? 根拠は何ですか?私は標準が何を言っているのかを長い間知っていましたが、この質問に答えていたときでさえ、それについて真剣に考えたことはありませんでした:名前のない名前空間の静的に対する優位性?
回答で説明したように、ユーザー定義型にも適用できるため、優れていると考えられますか? それとも、私が気付いていない他の理由もありますか?これは、特にそれが私の答えの理由であり、標準には他の何かが考えられている可能性があるためです。