Finally, I understood how to use your USE_PUSH. But I still don't understand why direct access work when I used reserve() method.