C++ ユーザーズガイド

a には次のいずれかを指定します。

a の値

意味 

extern

必要なすべてのインスタンスをテンプレートリポジトリに置き、それらに対して大域リンケージを行います (リポジトリのインスタンスが古い場合は、再びインスタンス化されます)。 

explicit

明示的にインスタンス化されたインスタンスを現在のオブジェクトファイルに置き、それらに対して大域リンケージを行います。必要なインスタンスが他にあっても生成しません。 

global

必要なすべてのインスタンスを現在のオブジェクトファイルに置き、それらに対して大域リンケージを行います。 

semiexplicit

明示的にインスタンス化されたインスタンスを現在のオブジェクトファイルに置き、それらに対して大域リンケージを行います。明示的なインスタンスにとって必要なすべてのインスタンスを現在のオブジェクトファイルに置き、それらに対して静的リンケージを行います。必要なインスタンスが他にあっても生成しません。 

static

必要なすべてのインスタンスを現在のオブジェクトファイルに置き、それらに対して静的リンケージを行います。