後者を導入するときに、C ++が静的グローバル(内部リンケージ)と名前のない名前空間のシンボル(外部リンケージですが、外部から参照する方法がない)を区別したのはなぜですか?
これらの理由のいずれかがまだ有効ですか、それとも新しい理由がありますか?
それらがまだ異なる場所が残っていますか?しかし、匿名グローバル(または名前空間スコープ)ユニオンはである必要
static
があるという任意のルール、およびそれらは何ですか?ボーナスポイントに関して、それらが異なる理由が残っていない場合、それらを同等にするリクエストはありますか?
C ++が名前空間(C ++ 98)、特に名前のない名前空間を導入したとき、静的グローバルは陳腐化し、熱意の中で新しいものよりも劣っていたが、C ++ 11で元に戻された:
staticキーワードの廃止…もういや?
C ++ 11より前は、内部リンケージのあるシンボルをテンプレート引数として使用できませんでした。C++ 03が外部リンケージを持つためにテンプレートパラメーターを必要とするのはなぜですか。
「準拠する実装」のビットを除いて、あなたはほとんどあなた自身の質問に答えたようです。おそらく、後半を削除して、代わりに回答として投稿することを検討する必要がありますか?それとも、ここでまだ答えられていない何かがありますか?
—
カイルストランド
@KyleStrandはすべてを再定式化しました。
—
Deduplicator