きめぇ構文使おうぜ
それっぽく見えるだろ

struct bb{
  bb & bb::operator , (int i){std::cout<<i; return *this;}
  bb & bb::operator , (const std::string& s){std::cout<<s; return *this;}

  bb & bb::operator () (int i){std::cout<<i; return *this;}
  bb & bb::operator () (const std::string& s){std::cout<<s; return *this;}
};
bb aa(){ return bb(); }
void f(){
  aa(), "aa", 0;
  aa()("aa")(0);
}