ポリシーやらファンクタやらを勉強ししてて、ふとこんな構文が
通ることに気付いてしまいました。

#include <iostream>
using namespace std;

class Hoge
{
public:
void operator()(void){cout<<"hoge"<<endl;}
};

int main(){
Hoge()();// ←なんと奇怪な構文!
return 0;
}

…うわー。これ、ホントに通っていいんですか? まあ、理屈には合ってますけど…。
(最初のカッコでHogeのデフォルトコンストラクタでテンポラリインスタンスを生成。
次のカッコでHogeのoperator()を呼び出す)

VCだけじゃないことを祈りまふ…。

ちとスレ違いかな。sage.