このことを考慮:
void l(Event const& e)
{
KeyEvent& k = (KeyEvent&)e;
std::cout<<k.action<<" "<<k.keyCode;
}
void k(Event const& e)
{
KeyEvent& k = (KeyEvent&)e;
std::cout<<k.action<<" "<<k.keyCode;
}
void t(Event const& e)
{
l(e);
k(e);
}
int main(int argc, char* argv[])
{
t(KeyEvent(1,1));
}
KeyEventオブジェクトはいつメモリから解放されますか(スコープが終了した後ですか、それとも削除する必要がありますか)?そして、そのKeyEventが実際にそれよりもはるかに多く渡された場合、それを使用する最後の関数が終了するまで、それが有効であり続けることを確信できますか?