Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: C++
Expertise: Intermediate
Jul 28, 2000

Equivalence Relationship in STL

Certain STL containers and algorithms require that you overload operator < for the class type they store as elements in order to sort and compare these elements. Note that STL derives the equality operator from the < operator by using the following construct

 
bool operator==( const T & arg1, const T & arg2)
{
 return (!(arg1<arg2)) && (!(arg1<arg2))
}

In other words, you don't need to define an overloaded version of operator == (or any other relational operator) because STL is clever enough to generate these operators from operator <. You only need to define an overloaded version of operator < for user-defined types.

Danny Kalev
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap