Сравнивая пары отдельно для равенства, меньше и больше.C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Сравнивая пары отдельно для равенства, меньше и больше.

Сообщение Anonymous »

Допустим, что у меня есть пара std :: pare s. Я хочу, чтобы каждый раз я сравнивал их, чтобы излучать отдельный код для равенства, все меньше и больше (например, 0, -1 и 1 соответственно). < /P>

Наивный подход состоит в том, чтобы написать некоторые, если < /cod> - -else< /code> code: < /p>

int compare_int_pairs(std::pair const &p1_, std::pair const &p2_) {
if(p1_.first < p2_.first) {
return -1;
} else if(p1_.first > p2_.first) {
return 1;
} else {
if(p1_.second < p2_.second) {
return -1;
} else if(p1_.second > p2_.second) {
return 1;
} else {
return 0;
}
}

return 0;
}
< /code>

Но есть ли лучший и более эффективный способ сделать это (например, побитовой операции или что -то еще)? < /p>

Подробнее здесь: https://stackoverflow.com/questions/330 ... nd-greater
Ответить

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

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

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

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

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