Недавно я обнаружил, что в С++ вы можете перегрузить оператор "вызов функции", странным образом, в котором вам нужно написать две пары круглых скобок:
class A {
int n;
public:
void operator ()() const;
};
И затем используйте его следующим образом:
A a;
a();
Когда это полезно?