Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
abs
Expand Minimize
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.

stack::size (STL Samples) 

Illustrates how to use the stack::size Standard Template Library (STL) function in Visual C++.


template<class _TYPE, class _C, class _A>
   size_type stack::size( ) const;

NoteNote

The class/parameter names in the prototype do not match the version in the header file. Some have been modified to improve readability.

The stack::size function returns the number of elements in the stack. It is okay to call this function with an empty stack; it will return a value of 0.

// StackSize.cpp
// compile with: /EHsc
// Illustrates how to use the size function to determine
// the number of elements on the stack.
//
// Functions:
//
//    size :  returns the number of elements in the stack.
//////////////////////////////////////////////////////////////////////

#pragma warning(disable:4786)
#include <stack>
#include <string>
#include <iostream>

using namespace std ;

typedef stack<string> STACK_STRING;

int main()
{
   STACK_STRING stack1;

   // Check the size of an empty stack. Should return 0.
   cout << "stack1.size() equals " << stack1.size() << endl;

   // Add item "Hello" to Stack1.
   cout << "stack1.push('Hello')" << endl;
   stack1.push("Hello");

   // Add item "This is the second element" to Stack1.
   cout << "stack1.push('This is the second element')" << endl;
   stack1.push("This is the second element");

   // Check the size of Stack1. Should return 2.
   cout << "stack1.size() equals " << stack1.size() << endl << endl;

   // Add item "Third element" to Stack1.
   cout << "stack1.push('Third element')" << endl;
   stack1.push("Third element");

   // Check the size of Stack1. Should return 3.
   cout << "stack1.size() equals " << stack1.size() << endl << endl;

   // Pop "Third element".
   cout << "stack1.pop()" << endl;
   stack1.pop();

   // Pop "This is the second element".
   cout << "stack1.pop()" << endl;
   stack1.pop();

   // Check the size of Stack1 again. Should return 1.
   cout << "stack1.size() equals " << stack1.size()  << endl << endl;

   // Pop "Hello".
   cout << "stack1.pop()" << endl;
   stack1.pop();

   // Check the size of Stack1. Should return 0.
   cout << "stack1.size() equals " << stack1.size() << endl;
}

stack1.size() equals 0
stack1.push('Hello')
stack1.push('This is the second element')
stack1.size() equals 2

stack1.push('Third element')
stack1.size() equals 3

stack1.pop()
stack1.pop()
stack1.size() equals 1

stack1.pop()
stack1.size() equals 0

Header: <stack>

Community Additions

ADD
Show:
© 2015 Microsoft