リンケージ は、同一の名前を持つ複数の ID が、 たとえこれらの ID が異なる変換単位に現れたとしても、同じオブジェクト、 関数、または他のエンティティーを指しているかどうかを判別します。ID のリンケージは、それがどのように宣言されていたかによって異なります。リンケージには外部結合、内部結合、リンケージなしの 3 つのタイプがあります。
リンケージはスコープには影響しません。通常の名前ルックアップに関する考慮事項が適用されます。
C++ コード・フラグメントと C++ 以外のコード・フラグメントの間に、言語リンケージ
と呼ばれるリンケージを設定することもできます。
言語リンケージを使用すると、C で記述されたコードに C++ コードを
リンクできるようにして、C++ と C の間の関係をクローズの状態にすることができます。すべての
ID には、デフォルトで C++ の言語リンケージが
設定されています。言語リンケージは変換単位間において一貫性がある必要があります。C++ 以外の言語リンケージの場合は、ID には
外部結合が設定されます。
関連参照