public member function
<stack>
std::stack::stack
explicit stack ( const Container& ctnr = Container() );
Construct stack
Constructs a
stack container adaptor object.
A container adaptor keeps a container object as data. This container object is a copy of the argument passed to the constructor, if any, otherwise it is an empty container.
Parameters
- ctnr
- Container object
Container is the second class template parameter (the type of the underlying container for the stack; by default: deque<T>, see class description).
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
// constructing stacks
#include <iostream>
#include <vector>
#include <deque>
#include <stack>
using namespace std;
int main ()
{
deque<int> mydeque (3,100); // deque with 3 elements
vector<int> myvector (2,200); // vector with 2 elements
stack<int> first; // empty stack
stack<int> second (mydeque); // stack initialized to copy of deque
stack<int,vector<int> > third; // empty stack using vector
stack<int,vector<int> > fourth (myvector);
cout << "size of first: " << (int) first.size() << endl;
cout << "size of second: " << (int) second.size() << endl;
cout << "size of third: " << (int) third.size() << endl;
cout << "size of fourth: " << (int) fourth.size() << endl;
return 0;
}
|
Output:
size of first: 0
size of second: 3
size of third: 0
size of fourth: 2
|
Complexity
Constant (one container construction). Although notice that the container construction itself may not take constant time.