- 1
o?o.f():{};
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+131
o?o.f():{};
Мне было стыдно постить это в С++.
http://www.gamedev.ru/flame/forum/?id=167142&page=2#m25
LispGovno 20.09.2012 21:45 # 0
>Придумал новый оператор .? (null-coalescing call)
roman-kashitsyn 20.09.2012 21:55 # +1
TarasB 20.09.2012 21:53 # +4
?:{}\\[=]^[&]::[]...::-%@$
Ой бля, это ж перл
Ещё тупая шутка про слишком закорючечный синтаксис:
БНФ-грамматика для перла:
symbol -> #0..#255
code -> code+symbol | empty
Elvenfighter 20.09.2012 21:58 # +3
guest 21.09.2012 08:49 # 0
Elvenfighter 20.09.2012 22:08 # +5
guest 21.09.2012 08:24 # 0
guest 21.09.2012 08:26 # +4
LispGovno 21.09.2012 09:05 # 0
o&&o->f(),1;
А если o.f() возвращает правильный курсор, то
o&&o->f()&&o->f()->g();
Последнее конечно, если f() чиста и особенно приятно, если она маленькая и компилятор её элиминирует.
Вот только это все не красиво. Лучше монада MayBe)
defecate-plusplus 21.09.2012 09:27 # 0
скобки не забыл?
кому вообще нужна короткая запись такой неординарной в с++ операции?
обвязка вокруг weak_ptr? - так там многовато логики, что делать, если объект еще жив, и что делать, если уже нет - однострочник только ухудшит положение
это же не java, где надо постоянно уточнять, не null ли объект
TarasB 21.09.2012 09:33 # +1
XD
Ещё один камень в сторону модненьких парадигом.
LispGovno 21.09.2012 09:45 # 0
defecate-plusplus 21.09.2012 09:52 # +1
"моя ошибка на миллиард"
LispGovno 21.09.2012 10:47 # 0
LispGovno 21.09.2012 10:51 # 0
defecate-plusplus 21.09.2012 11:25 # +3
guest 21.09.2012 11:35 # −2
defecate-plusplus 21.09.2012 11:45 # 0
TarasB 21.09.2012 12:06 # 0
LispGovno 21.09.2012 12:08 # 0
TarasB 21.09.2012 14:47 # 0
Lure Of Chaos 21.09.2012 21:52 # +3
defecate-plusplus 21.09.2012 12:08 # +4
даже плохому заказчику нужны хорошие значения
LispGovno 21.09.2012 12:09 # 0
Таблица векторов прерываний в реальном режиме х86, например. То есть в ассемблерных языках, типа крестов или няшки - нужно
defecate-plusplus 21.09.2012 12:20 # 0
LispGovno 21.09.2012 12:56 # 0
TarasB 21.09.2012 10:11 # 0
LispGovno 21.09.2012 10:43 # 0