C++ Stack Library - stack() Function



Description

The C++ constructor std::stack::stack() creates stack container and assigns copy of the ctnr argument to stack elements. If ctnr argument is not provided it constructs empty stack with zero element.

Declaration

Following is the declaration for std::stack::stack() constructor form std::stack header.

C++98

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

C++11

explicit stack (const container_type& ctnr);

Parameters

ctnr − Container type which is second parameter of class template.

Return value

Constructor never returns value.

Exceptions

This member function never throws exception.

Time complexity

Linear i.e. O(n)

Example

The following example shows the usage of std::stack::stack() constructor.

#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;
}

Let us compile and run the above program, this will produce the following result −

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