外部リンケージ (グローバル名前空間の乱雑/衝突以外) を持つシンボルを持つことに欠点はありますか? たとえば、呼び出さない関数ウィッチがある場合、内部リンケージがある場合、コンパイラはそれを破棄できますが、外部リンケージがある場合、誰かが後でリンクする可能性があるため、コンパイラはそのコードを残す必要があると思います. これは正しいです?他に欠点はありますか?
static キーワードの代わりに名前のない名前空間が推奨されることを知っているので質問していますが、名前のない名前空間のシンボルにはまだ外部リンケージがあるため、上記の欠点に悩まされることになります (私が正しい場合)。標準が言うような静的関数よりも優れています。