C++キーワード:typenameとclassのテンプレートのタイプパラメータを宣言する際の違い

332 ワード

typenameキーワードは、classキーワードの代わりに使用することもでき、それらには何の違いもありません.
C++の初期のテンプレートのサポートは厳密ではなく、新しいキーワードを導入していないのではなく、classでタイプパラメータを指定していましたが、classキーワードはもともとクラスの定義に使われていたので、あまり友好的ではないように見えました.そのため、C++はまた新しいキーワードtypenameを導入し、タイプパラメータを定義するために特別に使用しました.しかし、C++標準ライブラリ、一部のオープンソースプログラムなど、classキーワードを使用しているコードは今でも多くあります.