Cette fonction prend un objet arbitraire, ou, si la pile a une restriction concernant le type d'objets possibles à empiler, un objet de ce type, ainsi qu'une pile. L'effet de l'exécution de la fonction est que l'objet passé en argument est empilé sur la pile. Après exécution de cette fonction, la pile n'est pas vide.
Il n'y a pas de préconditions pour cette fonction. Il est inacceptable en général d'avoir une capacité limitée pour la pile et de laisser cette fonction échouer si la capacité est dépassée. Même si la pile est implémentée sous forme de tableau, il est relativement simple, et vivement conseillé, d'utiliser les techniques présentées dans la section 23.3.2 afin d'augmenter la taille du vecteur lorsque sa capacité courante est dépassée.
La valeur de cette fonction n'est pas indiquée. Cela permet à une implémentation conforme de renvoyer n'importe quelle valeur. Une modification ultérieure peut préciser cette valeur. Dans ce cas, il est raisonnable de renvoyer la pile, ou peut-être l'objet empilé.