===== QStack ===== La classe QStack est une classe template qui fournit une pile. [[#Description détaillée|Plus d'informations...]] ==== Héritage ==== Hérite de [[qvector|QVector]]. ==== Description détaillée ==== La classe QStack est une classe template qui fournit une pile. ''QStack'' est une des [[containers#container-classes|classes conteneurs]] génériques de Qt. Elle implémente une structure de pile de données pour les éléments d'un même type. Une pile est une structure de type "dernière entrée première sortie" (en anglais : Last In First Out, LIFO). Les éléments sont ajoutés sur le haut de la pile en utilisant [[#push()]] et extrait depuis le haut en utilisant [[#pop()]]. La fonction [[#top()]] fournit un accès à l'élément le plus haut sans le supprimer. Exemple : QStack pile; pile.push(1); pile.push(2); pile.push(3); while (!pile.isEmpty()) cout << pile.pop() << endl; La sortie de l'exemple sera 3, 2 puis 1 dans cet ordre. QStack hérite de [[QVector]]. Toutes les fonctionnalités de [[QVector]] sont aussi appliquées à QStack. Par exemple, vous pouvez utiliser [[qvector#isEmpty|isEmpty()]] pour tester si la pile est vide, et vous pouvez parcourir une instance de QStack en utilisant les classes itératrices de [[QVector]] (par exemple, [[QVectorIterator]]). Mais en plus, QStack fournit trois fonctions pour faciliter l'utilisation de la sémantique LIFO : [[#push()]], [[#pop()]] et [[#top()]]. Le type de valeur de QStack doit être un [[containers#assignable-data-type|type de données assignables]]. Cela couvre la plupart des types de données qui sont couramment utilisés, mais le compilateur ne vous laissera pas, par exemple, stocker un [[QWidget]] comme une valeur. Utilisez à la place [[QWidget]]*. Voir aussi [[QVector]] et [[QQueue]]. ==== Fonctions membres ==== === QStack() === ''QStack::QStack ()'' Construit une pile vide. === ~QStack() === ''QStack::~QStack ()'' Détruit la pile. Les références des valeurs de la pile, et tous les itérateurs de celle-ci deviennent invalides. === pop() === ''T QStack::pop ()'' Retire l'élément du haut de la pile et le retourne. Cette fonction suppose que la pile n'est pas vide. Voir aussi [[#top()]], [[#push()]] et [[#isEmpty()]]. === push() === ''void QStack::push ( const T & t )'' Ajoute l'élément ''t'' au plus haut de la pile. Elle est identique à [[qvector#append|QVector::append()]]. Voir [[#pop()]] et [[#top()]]. === top() === ''T & QStack::top ()'' Retourne une référence de l'élément du haut de la pile. Cette fonction suppose que la pile n'est pas vide. Elle est identique à [[qvector#last|QVector::last()]]. Voir aussi [[#pop()]], [[#push()]] et [[#isEmpty()]]. === top() === ''const T & QStack::top () const'' Il s'agit d'une fonction surchargée. Voir aussi [[#pop()]] et [[#push()]]. ==== Remerciements ==== Merci à pour la traduction et à , et à pour leur relecture !