struct的小于大于操作符如何定义?
stl算法通常要求元素有<和==操作符, ==好说, <比较头疼,因为通常容器存储自定义结构体,而这些结构体并没有逻辑上的小于大于关系,这种情况下如何定义"小于"关系?
例如
struct sdata{std::basic_string<TCHAR> ...int ...char ...std::basic_string<TCHAR> ...};struct sdata{ std::basic_string<TCHAR> a; int b; bool operator< (const sdata &r) const { if(this->a < r->a) return true; else if(r->a < this->a) return false; else return this->b < r->b; }};