«Меньше» перегрузка оператора, какой способ использовать?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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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