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

Шаблоны мб помогут? Что конкретно сделать надо?

18 ответов

2 просмотра

ну есть условная функция parseJson(const Json::Value&, const std::string& field, double& res), где последний аргумент может иметь тиа double&, std::string&, int& и тд мне нужно, чтобы логика с типом double& в одном из файлов была другой

Flower-Surgeon Автор вопроса
Kirill 🚜
ну есть условная функция parseJson(const Json::Val...

Боюсь, что так сделать будет нельзя.

Flower Surgeon
Боюсь, что так сделать будет нельзя.

Да, я не выспался просто, уже понял что отстойная затея

Kirill 🚜
ну есть условная функция parseJson(const Json::Val...

Если есть возможность изменить parseJson, то можно переписать её так, чтобы была возможность подкинуть ей в параметрах стратегии, и через них делать кастомизацию. Короче, добавить доп. точки кастомизации. Если изменить не можешь - сделать не получится

Kirill Bolshakov
Если есть возможность изменить parseJson, то можно...

Действительно можно сделать так, спасибо

Kirill 🚜
ну есть условная функция parseJson(const Json::Val...

не лучше ли другую функцию написать для этого фаила?

Aleksei Budyakov
не лучше ли другую функцию написать для этого фаил...

Я так и сделал, но это же некрасиво. Для всех типов используется parseJson, а для double - parseJsonDoubleCustom

Kirill Bolshakov
Если есть возможность изменить parseJson, то можно...

А стратегии это условно говоря флаги, которые выбирают внутри функции какую ветвь if-else выполнять, или что это?

Kirill 🚜
Я буду делать через инлайнящиеся лямбды

Чтоб так сделать уже шаблоны должны быть

Kirill 🚜
Я буду делать через инлайнящиеся лямбды

upd: не буду, тимлид не разрешил )))) :(

Kirill Bolshakov
Гугли паттерн "Стратегия"

Просто наследование разных алгоритмов от одного интерфейса и передача полиморфной базы некоторому классу ?

Aleksei Budyakov
Просто наследование разных алгоритмов от одного ин...

Это Java style, в С++ можно изящнее сделать. Ты суть пойми

Kirill Bolshakov
Это Java style, в С++ можно изящнее сделать. Ты су...

Изящнее - это передать в шаблон тип функции и инстанциировать его как член класса ? (либо инстанциировать std::function)

Kirill Bolshakov
Да просто функцию передать - уже заебись

Круто. Теперь хочу переписать часть своего уже написанного кода, т.к раньше Java Style делал подобное

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

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

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
есть тут кто-то , кто только начал изучать си? если проходите курс на степике или как-то сами изучаете, пишите, может, скооперируемся?..
Eule
25
Слушайте, ещё такая интересная задачка. Сделан аудит действий пользователей через триггеры в базе, соответственно каждый пользователь имеет свой логин и пароль в базе. Это пре...
Сергей Бычков
12
Скажите, тут нет проблемы? IMyInterface1 = interface function GetInterface2: IInterface2; ... function TMyInterface.GetInterface2: IInterface2; begin Result := TI...
Ruslan aka DUDE
18
вопрос по москвину - не понимаю вот такого вопроса похоже Сколько разных всегда завершающихся функций с типом a -> a -> b -> a -> a можно реализовать? Две функции одинаково...
Fedor
11
Кстати, раз про скачивание файлов разговор зашел) Сделал бота для себя (транскрибирующего и суммаризирующего встречи) но не ожидал что за 2 месяца 10к пользователей набежит😅...
Andrey Obolenskiy
8
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Утра доброго. Просветите пожалуйста. Хочу сделать rest сервер на делфи. Посмотрел 3 фреймворка: dmvc, Mars, mormot. Ни в одном из них не упоминается ассинхронная обработка вхо...
Сергей Бычков
10
возможно для форматирования TimeStampZ нужен другой механизм, не?
Роман Лях (rgreat)
13
Карта сайта