函数成员声明中各部分的名称
Name of the parts in a function member declaration
在C++中,函数成员的类型可以看作:
R(C::*)(Args...) qualifiers/specifiers
我想知道 (Args...)
之前的部分是否有正式名称(我的意思是 R(C::*)
)? (比如函数声明符或类似的东西)
R(C::*)
没有名字。它是两种不同类型的语法产生式的串联。 R
是一个 type-specifier-seq 而 (C::*)
是一个 noptr-abstract-declarator。但是 noptr-abstract-declarator 绑定到 parameters-and-qualifiers, i.e., (Args...)
等等,比 type-specifier-seq 更强。这有点像表达式 1+2*3
中的子字符串 1+2
没有名称,因为它没有独立的含义。
在C++中,函数成员的类型可以看作:
R(C::*)(Args...) qualifiers/specifiers
我想知道 (Args...)
之前的部分是否有正式名称(我的意思是 R(C::*)
)? (比如函数声明符或类似的东西)
R(C::*)
没有名字。它是两种不同类型的语法产生式的串联。 R
是一个 type-specifier-seq 而 (C::*)
是一个 noptr-abstract-declarator。但是 noptr-abstract-declarator 绑定到 parameters-and-qualifiers, i.e., (Args...)
等等,比 type-specifier-seq 更强。这有点像表达式 1+2*3
中的子字符串 1+2
没有名称,因为它没有独立的含义。