クラス テンプレート内でのクラス名の使用
提供されたコード スニペットでは、パブリック メンバー変数 Link* にテンプレート パラメーターがありません。これは、「挿入されたクラス名」として知られる機能によるものです。
C 標準 ([temp.local]) によれば、クラス テンプレートのスコープ内では、挿入されたクラス名はテンプレート名の後に、<..> で囲まれたテンプレート パラメーターが続きます。ただし、型名として使用される場合、挿入されたクラス名はクラス テンプレート自体を参照します。
Link クラス テンプレートの場合、挿入されたクラス名は単に Link です。したがって、行 Link* next;事実上、Link
この機能は、クラス テンプレート内で、特にテンプレート パラメーターのリストが広範囲に及ぶ場合に便利です。挿入されたクラス名を使用すると、過剰なテンプレート パラメーターでコードを乱雑にすることなく、クラス名自体を参照できます。
以上がこのクラス テンプレート内で「Link」の代わりにクラス名「Link」を使用できるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。