- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
int i = 0;
init1();
++i;
if (!isFailed1()) goto clean_up;
init2();
++i;
if (!isFailed2()) goto clean_up;
init3();
++i;
if (!isFailed3()) goto clean_up;
goto end:
clean_up:
switch(i) {
case 3:
cleunUp3();
case 2:
cleunUp2();
case 1:
cleunUp1();
}
end:
Lure Of Chaos 22.10.2011 20:47 # +1
absolut 22.10.2011 21:47 # 0
defecate-plusplus 23.10.2011 00:56 # 0
можно еще делать do { } while (0); с брейками, вместо goto
только афтар ошибся, ему надо делать ++i только лишь когда init был успешен
говнокод только в понимании с++
AnimeGovno-_- 23.10.2011 14:09 # −1
Как бы это и так в разделе С++, при том что автор считает, что RAII не нужен, если есть это.
guest 25.10.2011 15:40 # +3
AnimeGovno-_- 25.10.2011 22:58 # −1
guest 25.10.2011 14:50 # +5
defecate-plusplus 25.10.2011 16:22 # 0
TarasB 23.10.2011 16:54 # +7
SmackMyBitchUp 23.10.2011 17:26 # 0
TarasB 23.10.2011 18:06 # 0
Местные жители говорят, что китайцев незаметно.
bugmenot 23.10.2011 19:19 # 0
тут на днях собираются запретить праворуких японок, так что о дальнем востоке можно забыть
AnimeGovno-_- 23.10.2011 19:28 # −1
SmackMyBitchUp 23.10.2011 20:24 # 0
guest 22.11.2011 16:58 # 0