170 похожих чатов

Добрый день! В наличии вектор, содержащий std::variant (габариты геометрической фигуры).

Его возможно по этим самым габаритам отсортировать? Например, есть круг и прямоугольник. Если у круга диаметр больше, чем у прямоугольника высота, считаем, что круг больше прямоугольника.

15 ответов

23 просмотра

Такое лучше через полиморфизм и наследование делать

Ну надо компаратор сделать, в котором будет visit по возможным вариантам

Blue Talpa- Автор вопроса
Danya🔥
Ну надо компаратор сделать, в котором будет visit ...

Можете подсказать, где почитать/посмотреть примеры? Никогда не работал с вариантами, как будет выглядеть компаратор, не могу представить даже примерно -_-

Blue Talpa- Автор вопроса
Danya🔥
std::visit + std::overloaded

Прочитал, не понял.

Blue Talpa
Прочитал, не понял.

Ну там есть примеры использования на cppref

Blue Talpa- Автор вопроса
Danya🔥
Ну там есть примеры использования на cppref

std::visit([](auto&& arg) { using T = std::decay_t<decltype(arg)>; if constexpr (std::is_same_v<T, int>) std::cout << "int with value " << arg << '\n'; else if constexpr (std::is_same_v<T, long>) std::cout << "long with value " << arg << '\n'; else if constexpr (std::is_same_v<T, double>) std::cout << "double with value " << arg << '\n'; else if constexpr (std::is_same_v<T, std::string>) std::cout << "std::string with value " << std::quoted(arg) << '\n'; else static_assert(always_false_v<T>, "non-exhaustive visitor!"); }, w);

Blue Talpa- Автор вопроса
Danya🔥
Ну там есть примеры использования на cppref

Это пример с cppref. я не понимаю, как на его основе написать компаратор, который будет сравнивать между собой два разных типа

Blue Talpa
Это пример с cppref. я не понимаю, как на его осно...

Ну в зависимости от типа ты сохраняешь в переменную значение, по которому его сравнивать

Blue Talpa
std::visit([](auto&& arg) { us...

Но лучше конечно через std::overloaded, читаемее будет

Blue Talpa- Автор вопроса
Danya🔥
Но лучше конечно через std::overloaded, читаемее б...

Ща, накидаю на вандбоксе, ибо на словах ничего не понятно %)

Blue Talpa- Автор вопроса

Похожие вопросы

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Всем привет! Кто пользуется DevExpress, подскажите пожалуйста, реализован ли в TcxGrid в новых версиях поиск по датам как в Экселе (ну т.е. не просто список чекбоксов со значе...
A Z
4
Карта сайта