理解模板参数中的 'class' 和 'typename'
在 C 中,'class' 和 'typename' 都可以用于指定模板参数。虽然它们看起来可以互换,但历史背景可以洞察它们的使用偏好。
历史背景
首次引入模板时,Bjarne Stroustrup 选择“类”来指定模板类型,将“typename”视为不必要的关键字。然而,由于“class”具有多种含义,人们担心可能会产生混淆。
引入“typename”
为了解决这种歧义,C 委员会决定创建一个专门用于指定模板类型的新关键字:“typename”。这样做的目的是提高语法清晰度并减少误解的风险。
当前使用注意事项
今天,“class”和“typename”仍然是定义的有效选择模板参数。它们的用法之间不存在固有的技术差异。个人偏好或特定的编码风格可能会影响开发人员在两者之间的选择。
注意:在 C 17 之前,对于“模板模板”参数,“类”是强制性的。然而,在现代 C 中,“typename”是普遍接受的。
以上是我什么时候应该在模板参数中使用'class”和'typename”?的详细内容。更多信息请关注PHP中文网其他相关文章!