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

Уважаемые, как думаете, стоит ли городить что-то вроде DSL в

плюсах? Допустим, у меня и так есть что-то похожее, например, такой код
c++
int main()
{
Charmap chr{
"Courier New.ttf", 14, " .:-=+*#%@", {{0, 0, 0}, {255, 255, 255}}
};
Image chrm{chr.render()};
show(chrm.get());
chrm.write("chr.png");

Image img{"test.png"};
auto art = std::move(img.get()) |= ScaleFilter{0.5f, 0.5f}
| GrayscaleFilter{}
| MonochromeArtFilter{chr};

art.convertTo(art, CV_8U, 255); // Shit
img.assign(std::move(art));

show(img.get());
img.write("result.png");
}

стоит ли его превращать во что-то типа

c++
int main()
{
Charmap chr{
"Courier New.ttf", 14, " .:-=+*#%@", {{0, 0, 0}, {255, 255, 255}}
};
Image chrm{chr.render()};
show(chrm()));
chrm >> "chr.png";

Image img{"test.png"};
auto art = std::move(img()) |= ScaleFilter{0.5f, 0.5f}
| GrayscaleFilter{}
| MonochromeArtFilter{chr};

art.convertTo(art, CV_8U, 255); // Shit
std::move(art) >> img;

show(img());
img >> "result.png";
}
или я извращенец и творю полнейшую фигню?

5 ответов

10 просмотров

Зависит от того, кто этот код будет видеть. Если кто-то кроме тебя - не делай так. Потому что это крайне усложняет чтение, а пока что профита я не вижу особого)

std::move(art) >> img; выглядит как попытка написать img = std::move(art); только извращенским способом

В ranges есть нечто подобное. При огромном количестве такого перегрузки операторов скорее превращаются в визуальный шум и становятся менее читабельными. Лучше от такого воздержаться.

Не видно повода для DSL

А где хоть что-то поменялось от верхнего куска кода к нижнему?

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

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

@Aiwan что такое база образца?
Alexey
27
Не многие знают, а кто знает, тот уже успел забыть, что в далёком 2004 году эта игра произвела настоящий фурор, настолько революционной была технология, применяемая для её соз...
ICCID
4
коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
Короче я тут узнал полный пиздец Что кучу постов которые я создавал через posted Спустя время не могу редактировать и менять Мол телега возвращае ошибку Это реально так ...
inc.
13
Хотя у меня сейчас есть более сложная задача, вот её думаю: как объяснить челу переходного возраста противоположного полу, обучающегося в польском колледже (а-ля наш техникум)...
Вячеслав Кузьменко
15
а сколько всего в IT умерло? Где флеш-игры, их было туча, где они все? Сегодня технология есть, а завтра вжух и мёртвая. Этот wasm сильно напоминает джавовские апплеты, silver...
Constantin F.
5
Добрый день Хочу начать обучение языку, не являюсь представителем it, буду благодарна за помощь, совсем пока не понимаю ничего) Подскажите, пожалуйста, где можно начать первы...
Sara Lala
30
а вы в курсе, что Initialize() не работает? var arr123: array[0..123] of Byte; ... Initialize(arr123, SizeOf(arr123));
Iluha Companets
8
что читать по делфи?вообще 0 в нем
fd dsds
9
верно что я могу удалить эти addq и subq т.к. со стеком никакого взаимодействия нет (исключая call)?
Michael
16
Карта сайта