3

C++ 標準ドラフト n3485 で 14.7.2 を読んでいますが、次のように書かれています。

2 明示的なインスタンス化の構文は次のとおりです。明示的なインスタンス化: テンプレート宣言のextern選択

明示的なインスタンス化には、明示的なインスタンス化の定義と明示的なインスタンス化の宣言の 2 つの形式があります。明示的なインスタンス化宣言は、externキーワードで始まります。

テンプレートの宣言と定義は常にヘッダーに配置されるため、テンプレートでの宣言は見たことがありませんextern。その太字の文は正確にはどういう意味ですか?

また、インスタンス化が気にするのはなぜexternですか?

4

1 に答える 1

6

この TU でそのテンプレートをインスタンス化しないようにコンパイラに指示します。

externコードを実際にリンクする場合は、1 つの TU (ビットなし) でインスタンス化する必要があることに注意してください。

于 2013-03-11T15:44:26.683 に答える