![]() |
1
2
非正式地说,短语“当前实例化”和“当前实例化的成员”被定义为建立一个规则,在类模板的范围内,该类及其成员的名称适用于大多数被视为非依赖名称的语法要求。这样可以减少编写类模板的繁琐工作,减少对
该cppreference页在“只有以下名称可以引用当前实例化”下面的四个要点中定义了什么可以是当前实例化,什么不能是当前实例化。(尽管“唯一”可能不是最好的措辞。)该列表与标准中的正式定义非常相似,见 [temp.dep.type]/1 . 请注意,即使标准和cppreference.com提到 这个 当前实例化”,在代码中的单个点上,多个类类型可以限定为当前实例化。例如,如果我们
在上述第1点和第2点,名称
只有类类型可以是当前的实例化,并且该类类型始终是类模板的专用化或类模板专用化内的嵌套类。
注意,当前实例化的命名规则是根据所使用的确切语法和模板定义的上下文命名的,而不考虑该模板的任何特定实例化或所涉及类型的标识。也就是说,我们可以从上面的例子中确定,在某些点上,
|
![]() |
AstralHex · 矩阵乘法代码工作不正常 7 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 8 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 8 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 8 月前 |