c Template在很多地方都使用了typename和class这两个关键字,似乎可以进行替换,这两个关键字是完全相同的吗?
我想学习c的人都很熟悉class这个关键词,class用于定义类,在模板中引入c后,第一个定义模板的方法是template……
其中class关键字表示t是类型的。 随后引入了typename关键字,因为在这两个位置使用class可能会产生混淆。 该关键字与class类似,表示后一个符号是类型,以便在定义模板时可以使用以下方法:
template……
在模板定义语法中,关键字class的作用与typename完全相同。
typename只在模板定义中起作用吗? 不是这样的。 typename的另一个作用是使用嵌套的依赖类型" nested depended name ",如下所示:
class myarray { public:typedefintlengthtype; 同调