(desole a OP pour le hors sujet complet)
hyrulink2, dans le cas de l'utilisation d'une stack, la memoire est parfaitement contigue parceque toutes les insertion et deletion se font du meme cote. Du fai, en memoire, tu as la meme chose que tu utilises un std::deque ou un std::vector. J'ai fait le test sur mon laptop. En utilisant std::deque, sur mon laptop ca prends 2.015s, alors que std::vector prends 1.910s. L'implementation simple de Pile prends 1.493s alors que PileSafe prends 1.118s.
Je n'ai pas pu tester avec std::array car l'interface de programmation n'est pas compatible : il manque push_back et pop_back. Certainement, on peut hacker std::array pour obtenir une interface de programmation suffisante. Mais il n'y a dans ce cas pas de difference avec ce que j'avais ecrit.
Je maintiens mes conclusions: la stl est chiante a utiliser des que l'on veut sortir des clous a cause d'une documentation merdique. Et en pratique dans plein de cas d'utilisation ca perds une partie des performances. La STL c'est pas magique: comme toutes les abstractions, ca a un cout.