- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
#include <iostream>
using namespace std;
int main () {
for( struct {int i; long i2;} x = {1, 1};
x.i2 <= 100;
x.i++, x.i2 = x.i * x.i ) {
cout << x.i2 << endl;
}
return 0;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+166
#include <iostream>
using namespace std;
int main () {
for( struct {int i; long i2;} x = {1, 1};
x.i2 <= 100;
x.i++, x.i2 = x.i * x.i ) {
cout << x.i2 << endl;
}
return 0;
}
Поскольку реального ГК нет, добавлю синтетического.
NB: Под MSVC такое не пройдет. g++ - ok: http://codepad.org/JesKsnMQ
http://jia3ep.blogspot.com/2010/07/struct-in-for-loop.html
SmackMyBitchUp 04.07.2011 22:58 # +4
JeremyW 05.07.2011 03:25 # 0
AxisPod 05.07.2011 07:55 # +4
void *str = (void*)"some text";
void *test = str + 5;
хотя это очень сильно нарушает стандарт.
guest 05.07.2011 08:36 # 0
rat4 05.07.2011 09:55 # 0
carsten 05.07.2011 10:46 # 0
если чар гарантирован быть единицей, то войду же не быть нулём? куда уж меньше-то? по-моему, логически ((void*)s + 5) имеет смысл. запрещать нужно если уж совсем строго подходить к проектированию языка (void=пустота), но особо смысла не вижу, выглядит как формальность. то что gcc выдаёт только ворнинг -- имхо, удачный компромис.
rat4 05.07.2011 11:41 # 0
2. For addition ... one operand shall be a
pointer to a completely defined object type and the other shall have integral or enumeration type.
SIGSEGV 05.07.2011 20:18 # 0
guest 05.07.2011 08:27 # 0
sanchousf 05.07.2011 08:36 # +2
sayidandrtfm 05.07.2011 11:52 # +4
Наверно, есть такие задачи...
P.S. gcc version 4.4.5 - ага.
macGovno 05.07.2011 12:00 # 0
guest 05.07.2011 12:50 # +2
absolut 05.07.2011 14:06 # 0
macGovno 05.07.2011 14:16 # 0
absolut 05.07.2011 14:26 # 0
Psionic 05.07.2011 12:42 # +3
guest 05.07.2011 15:37 # −1
В макросах. Только вот макросы "вредны", но это уже другой вопрос.
absolut 05.07.2011 16:20 # +1
guest 05.07.2011 19:22 # 0
А при том, что в макросах пользоваться именованными структурами иногда тяжелее. Приходится следить за уникальностью имени.
absolut 05.07.2011 21:03 # 0
P.S. Макросы вообще зло.
guest 06.07.2011 01:11 # 0
>P.S. Макросы вообще зло.
Троллить изволите?
absolut 06.07.2011 06:52 # 0
guest 06.07.2011 10:55 # 0
absolut 06.07.2011 12:32 # 0
А что здесь "так"? Какую цель преследует данный макрос? Где зависимость от param1 хотя бы? Зачем использовать такое "в коде очень много раз"?
guest 06.07.2011 19:07 # 0
Мне кажется, это очевидно, но
Писать в макросе: - плохое решение, ибо megaClass не будет обладать уникальностью в данной области видимости.
А вот: - уже будет лучше.
Ну а то, что макросы - вредны, то оно ясно, лучше их не применять. Я уже об этом говорил в своём первом комменте.
Esper 05.07.2011 16:57 # +2
Дебильные примеры не из жизни: наивное вычисление k-ого числа Фиббоначи, может быть алгоритм Эвклида.