Dlaczego pamięć stosu jest przydzielana, gdy nie jest używana?

Rozważ następujący przykład: struct vector { int size() const; bool empty() const; }; bool vector::empty() const { return size() == 0; } Wygenerowany kod zestawu dla vector::empty(według clang, z optymalizacjami): push rax call vector::size() const test eax, eax sete al pop...