Re[10]: Имя истинного врага - миссионеры.
От: serg_joker Украина  
Дата: 13.08.25 17:37
Оценка: +1
Здравствуйте, Pzz, Вы писали:

Pzz>Очень редко бывает так, чтобы требования быстроты и сложности применялись к коду одновременно. И там, где есть требование быстроты, можно поднапрячься и обойтись без перегрузки операторов — скорее всего, речь идёт о небольшой доле кода.

Ну вот возьмём простой класс — std::string, хочу я его во всяких контейнерах держать, сравнивать и вообще не церимониться.

и есть у меня код:
if (s1 > s2) { ... }


вот ты бы хотел, чтобы условие разворачивалось в (!(s1 < s2 ) || (s1 == s2)) с удвоением сложности?
или чтобы нужно было писать gteaterthan(s1,s2) ?

С моей точки зрения, код не выглядит слишком уж экзотичным. Во вполне прикладном и высокоуровневом коде сравниваются строки, контейнеры, кортежи, варианты, опшналы и много чего другого, я бы не хотел, чтобы мне вместо читабельных математических символов пришлось использовать что-то другое.
Но и плата за !((v1 < v2) || (v1 == v2)) — это не несколько тактов.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.