Bibliothèque de pile C ++ - fonction stack ()

La description

Le constructeur C ++ std::stack::stack()crée un conteneur de pile et affecte une copie de l' argument ctnr aux éléments de la pile. Si l' argument ctnr n'est pas fourni, il construit une pile vide avec zéro élément.

Déclaration

Voici la déclaration du constructeur std :: stack :: stack () sous forme d'en-tête std :: stack.

C ++ 98

explicit stack (const container_type& ctnr = container_type());

C ++ 11

explicit stack (const container_type& ctnr);

Paramètres

ctnr - Type de conteneur qui est le deuxième paramètre du modèle de classe.

Valeur de retour

Le constructeur ne renvoie jamais de valeur.

Des exceptions

Cette fonction membre ne lève jamais d'exception.

Complexité temporelle

Linéaire ie O (n)

Exemple

L'exemple suivant montre l'utilisation du constructeur std :: stack :: stack ().

#include <iostream>
#include <stack>
#include <vector>

using namespace std;

int main(void) {   
   stack<int> s1;
   vector<int> v = {1, 2, 3, 4, 5};
   stack<int, vector<int>> s2(v);

   cout << "Size of stack s1 = " << s1.size() << endl;

   cout << "Contents of stack s2" << endl;
   while (!s2.empty()) {
      cout << s2.top() << endl;
      s2.pop();
   }

   return 0;
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

Size of stack s1 = 0
Contents of stack s2
5
4
3
2
1