All streams
Search
Write a publication
Pull to refresh
0
0
Дмитрий @dima_mendeleev

User

Send message
:-D
Я — С++ программист и очень хорошо знаком со всеми плюсами плюсов.
Но я уверен, что с C#, Python, Haskell, Java, etc. не приходится иметь дело с тем огромным количеством low level проблем, которые возникают на С++.
Это хрень, которая мешает жить С++ программистам.
Но откуда же вам знать? Вы же как и все нормальные люди уже лет 15 не используете С++.
Ага=)
Пишут, что догоняет Хаксел и Окамл :-D
Круто, спасибо!
*на самом деле я тоже в Хаскеле новичок=)
Сишные макросы никогда не бывают безопасными :)
И если есть возможность, то лучше без них обойтись.
Я конечно фанат, Haskell, но вы как-то плохо его популяризируете =)
Уберите пожалуйста эти пугающие типы у read, они легко выводятся из использования (solve и printNSolutions принимают Int).
Там где вы считываете два числа можно сразу их распаковать:
let n1 : n2 : [] = map read $ words numsStr
А конец итерации лучше заменить на:
printNSolutions 0 = return ()
Посмотрите тут, как можно static_assert, заменив его на throw, перенести в constexpr функцию. Тогда можно обойтись без макросов:
case hash("string"):
2. Да. Также как у вас создается обертка для члена класса можно передать и дополнительные аргументы.
Пару советов:
1. Убрать бы макросы;
2. использовать не один указатель void* data_, а массив статичной длины на стеке, тогда можно делать как boost::bind, и распаковывать его (на этапе компиляции) в месте вызова. Например так
f(*static_cast<BINDED_ARGS*>(data_[INDEXES])...)

INDEXES — это pack длины BINDED_ARGS, вида <0, 1, ...>
Унифицировать — это само по себе правильно, и если есть выбор унифицировать или нет, конечно же лучше унифицировать.
А в данном случае — это еще и экономие кода и оперативки.
Так выходит все представить функцией :)
Действительно очень красиво — просто и гениально!
Люблю такие решения.
Ну это сильно сложное, и наверное неправильное использование декоратора в РНР. Як конечно (слава Богу) не РНР-шник, и как там с интроспекцией не знаю, но РНР ведь динамически типизованный, и там все вообще просто должно быть — как в Питоне. А в Питоне декорация — проще некуда.
>… моего нынешнего состояния, уверен, завтра текст будет выглядеть для меня иным…
Все еще под впечатлениями Алтая :-D
Идиоты не любят, когда их разоблачают — потому и минусуют :-D
Это и есть ТеХ ;)
А еще Unicode можно:
\название_символа
Спасибо:) простота Питона скрывает множество подводных камней, как впрочем и все вещи в нашей жизни=)
> Разбиение кода на 2 файла даст небольшой прирост производительности
Я конечно не совсем нуб, но все же можно поподробней?

Information

Rating
Does not participate
Location
Украина
Registered
Activity