Pourquoi la mémoire de pile est-elle allouée lorsqu'elle n'est pas utilisée?

Prenons l'exemple suivant: struct vector { int size() const; bool empty() const; }; bool vector::empty() const { return size() == 0; } Le code d'assembly généré pour vector::empty(par clang, avec optimisations): push rax call vector::size() const test eax, eax sete al pop rcx ret Pourquoi...