- 1
- 2
- 3
- 4
- 5
- 6
- 7
S consume (S) (ref S data, Regex ! ( Unqual!(typeof(S.init[0])) ) rg)
{
writeln (typeid(Unqual!(typeof(S.init[0]))));
auto m = match(data, rg);
return m.hit;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 223
+124
S consume (S) (ref S data, Regex ! ( Unqual!(typeof(S.init[0])) ) rg)
{
writeln (typeid(Unqual!(typeof(S.init[0]))));
auto m = match(data, rg);
return m.hit;
}
+14
Node<maxCnt> n[sizeY][sizeX], on;
//...
auto EachConvex = [](auto f, Body& b)
{
for (auto g : b.g)
{
auto cp = Body::ConvexPtr(&b, g);
auto bounds = cp.bounds();
auto max = Rect(0, 0, sizeX - 1, sizeY - 1);
auto out = max.intersect(bounds);
auto b = max & bounds;
for (auto x = b.left; x < b.right; ++i)
for (auto y = b.top; x < b.bottom; ++i)
f(n[y][x], cp);
if (out)
f(on, cp);
}
return true;
}
+69
#define BYTEMAX 0xFF
#define BYTEOVERFLOW (BYTEMAX+1)
C++ вокруг. Интересует насколько это вменяемая практика?
+120
http://cs409725.vk.me/v409725134/612b/bo_sT8EuYK4.jpg
+13
//Сегодня QuestionGovno.
//Допустим есть код:
#include <iostream>
using namespace std;
class T{};
struct M{M(T){}};
struct G{G(T){}};
int f(M){return 0;}
bool f(G){return 0;}
int main() {
bool a(f(T()));
return 0;
}
Казалось бы должна быть неоднозначность при компиляции, так как компилятор не знает какую перегрузку f бы выбрать.
И как бы так оно и есть:
http://ideone.com/o21NDg
Логично? Логично.
Но стандарт считает по другому:
http://en.cppreference.com/w/cpp/language/overload_resolution
Смотрите пункт:
Best viable function
F1 is determined to be a better function than F2 if implicit conversions for all arguments of F1 are not worse than the implicit conversions for all arguments of F2, and
...
2) or. if not that, (only in context of non-class initialization by conversion), the standard conversion sequence from the return type of F1 to the type being initialized is better than the standard conversion sequence from the return type of F2
Как мне повторить поведение, которое указано в стандарте?
+18
class figure
{
//...
};
class triugolnik: public figure
{
//...
};
class kvadrat: public figure
{
//...
};
#define PAIR(f0, f1) std::make_tuple(std::type_index(typeid(f0)), std::type_index(typeid(f1)))
int PloshadTrehFigur(const figure& f0, const figure& f1, const figure& f2);//forward declaration
int PloshadDvuhFigur(const figure& f0, const figure& f1)
{
static const std::unordered_map<
std::tuple<std::type_index, std::type_index>, std::function<int(const figure&, const figure&)>
> caller
{
{PAIR(triugolnik, kvadrat), ploshadTriugolnikIKvadrat},
{PAIR(kvadrat, triugolnik), lispGovno::flip(ploshadTriugolnikIKvadrat)},
{PAIR(kvadrat, kvadrat), ploshadKvadratIKvadrat},
{PAIR(triugolnik, triugolnik), ploshadTriugolnikITriugolnik}
};
const auto& f = caller.find(PAIR(f0, f1));
assert(f!=caller.end());
f(f0, f1);
}
#undef PAIR
Наш ответ Чемберлену:
http://govnokod.ru/13933
lispGovno::flip - flip такой же как в хаскель из моей особой мегабиблиотеки победителя каждый день.
Шах и мат господа присяжные засидатели. Мультиметоды в крестах есть и реализуются за 5 минут.
В сишке аналогично. Все анскилябры залезли под кровати.
Визитары размазанные по коду сосут и трудно поддерживаются.
+125
На картинке — классическая древнегреческая статуя «Самсон, поражающий дубиной Бага, покровителя говнокода».
Древнегреческие программисты считали, что подсчет ссылок — универсальный инструмент, избавляющий от всех ошибок.
Сейчас мы знаем, что древние ошибались.
http://habrastorage.org/storage3/036/678/6e4/0366786e4530108f26e3ae9b8551bbad.jpg
http://habrahabr.ru/company/ifree/blog/202190/
Что имеет ввиду автор и почему он вообще гонит на RC?
+121
ref <- newIORef 0
replicateM_ 1000000 $ modifyIORef ref (+1)
readIORef ref >>= print
+4
int eval (const Expr& e)
{
Match(e)
Case(const Value& x) return x.value;
Case(const Plus& x) return eval (x.e1)+eval(x.e2);
Case(const Minus& x) return eval(x.e1)−eval(x.e2);
Case(const Times& x) return eval(x.e1)∗eval(x.e2);
Case(const Divide& x) return eval(x.e1)/eval (x.e2);
EndMatch
}
Бьёрн Страуструп выбирает борщ.
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3449.pdf
http://www.linux.org.ru/forum/development/9525806
Заметим, что не только Страуструп раскаялся в прошлом. Кармак с энтузиазмом рассказывает, как с головой погрузился в Haskell и Scheme, объясняет, почему хаскель невероятно крут и почему сегодня он бы, вероятно, сделал QuakeScheme вместо QuakeC. Он пишет на хаскеле порт wolf3D.
+141
Тайна имени. Ада
др.-евр. - украшение
В детстве эти малышки доставляют много беспокойства родителям и воспитателям: они
импульсивны и упрямы, часто болеют - у них слабые легкие и горло, неустойчивая нервная
система. Учёба им даётся нелегко. Несколько мужской характер Ады с возрастом
почти не меняется: она так же импульсивна, упряма и смела. Добивается своих
целей не только пробивной способностью, но и большим трудолюбием. Пользуется
успехом у молодых людей.
Дисказ. Картинка прикреплейтед.