Abominable Function
在 Abominable Function Types (open-std.org) 中:
For the purposes of this paper, an abominable function type is the type produced by writing a function type followed by a cv-ref qualifier. Example:
using regular = void();
using abominable = void() const volatile &&;
通过一些模板手段能把类中的成员函数转换成可憎函数(怎么翻译更合适?)。可憎函数形式复杂,模板匹配困难。C++23 explicit object parameter (deducing this) 可以一定程度上解决这个问题。
这个东西现在看来不该存在,是 this 指针设计的历史遗留问题。