- 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
void *str = (void*)"some text";
void *test = str + 5;
хотя это очень сильно нарушает стандарт.
если чар гарантирован быть единицей, то войду же не быть нулём? куда уж меньше-то? по-моему, логически ((void*)s + 5) имеет смысл. запрещать нужно если уж совсем строго подходить к проектированию языка (void=пустота), но особо смысла не вижу, выглядит как формальность. то что gcc выдаёт только ворнинг -- имхо, удачный компромис.
2. For addition ... one operand shall be a
pointer to a completely defined object type and the other shall have integral or enumeration type.
Наверно, есть такие задачи...
P.S. gcc version 4.4.5 - ага.
В макросах. Только вот макросы "вредны", но это уже другой вопрос.
А при том, что в макросах пользоваться именованными структурами иногда тяжелее. Приходится следить за уникальностью имени.
P.S. Макросы вообще зло.
>P.S. Макросы вообще зло.
Троллить изволите?
А что здесь "так"? Какую цель преследует данный макрос? Где зависимость от param1 хотя бы? Зачем использовать такое "в коде очень много раз"?
Мне кажется, это очевидно, но
Писать в макросе: - плохое решение, ибо megaClass не будет обладать уникальностью в данной области видимости.
А вот: - уже будет лучше.
Ну а то, что макросы - вредны, то оно ясно, лучше их не применять. Я уже об этом говорил в своём первом комменте.
Дебильные примеры не из жизни: наивное вычисление k-ого числа Фиббоначи, может быть алгоритм Эвклида.