«Меньше» перегрузка оператора, какой способ использовать?C++

Программы на C++. Форум разработчиков
Anonymous
«Меньше» перегрузка оператора, какой способ использовать?

Сообщение Anonymous »

В файле заголовка я определил запись struct . Я хотел бы использовать его для возможной сортировки, поэтому я хочу перегрузить меньший оператор . Вот три способа, которые я заметил в различном коде. Я грубо заметил, что:
  • Если я собираюсь поместить record в std :: set , map , Приоритет Запись> v , а затем вызовите make_heap (v.begin (), v.end ()) и т. Д. Затем только версия 1 работает.

Код: Выделить всё

struct Record
{
char c;
int num;

//version 1
bool operator num>rhs.num;
}

//version 2
friend bool operator num>rhs->num;
}
};
< /code>
в том же файле заголовка, например: < /p>
//version 3
inline bool operator num>rhs->num;
}
Каковы различия между этими тремя методами и каковы правильные места для каждой версии?

Подробнее здесь: https://stackoverflow.com/questions/801 ... way-to-use

Вернуться в «C++»