Export (0) Print
Expand All

operator== (<stack>)

Tests if the stack object on the left side of the operator is equal to stack object on the right side.

bool operator==( 
   const stack <Type, Container>& _Left, 
   const stack <Type, Container>& _Right 
);

_Left

An object of type stack.

_Right

An object of type stack.

true if the stacks or stacks are equal; false if stacks or stacks are not equal.

The comparison between stack objects is based on a pairwise comparison of their elements. Two stacks are equal if they have the same number of elements and their respective elements have the same values. Otherwise, they are unequal.

// stack_op_eq.cpp
// compile with: /EHsc
#include <stack>
#include <vector>
#include <iostream>

int main( )
{
   using namespace std;

   // Declares stacks with vector base containers
   stack <int, vector<int> > s1, s2, s3;

   // The following would have cause an error because stacks with
   // different base containers are not equality comparable
   // stack <int, list<int> > s3;

   s1.push( 1 );
   s2.push( 2 );
   s3.push( 1 );

   if ( s1 == s2 )
      cout << "The stacks s1 and s2 are equal." << endl;
   else
      cout << "The stacks s1 and s2 are not equal." << endl;

   if ( s1 == s3 )
      cout << "The stacks s1 and s3 are equal." << endl;
   else
      cout << "The stacks s1 and s3 are not equal." << endl;
}
The stacks s1 and s2 are not equal.
The stacks s1 and s3 are equal.

Header: <stack>

Namespace: std

Show:
© 2014 Microsoft