int main()
{
struct ev_loop *loop1 = EV_DEFAULT;
struct ev_loop *loop2 = ev_default_loop(0);
printf("%ld\n%ld\n", (long)loop1, (long)loop2);
return 0;
}
はい、loop1 は loop2 と同じです。しかし、なぜそれらは両方ともヒープではなくスタック上にあるのでしょうか? で、多分 ev_default_loop はこんな感じで、
int* func()
{
int a;
return &a;
}
しかし、func が戻った後、そのスタックはクリーンアップされています。それで、それは本当に安全ですか?