Здравствуйте, Masterkent, Вы писали:
M>Кстати, было время, когда триграфы в C++ хотели сделать deprecated, но потом передумали: M>Issue 789. Deprecating trigraphs
Зря передумали ИМХО.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Начнем с классики. Программа, написанная Диком Т. Винтером (Dik T. Winter at CWI) на Си всего 160-ю символами, но вычисляющая 800 знаков Пи.
int a=10000,b,c=2800,d,e,f[2801],g;main(){for(;b-c;)f[b++]=a/5; for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)for(b=c;d+=f*a, f=d%--g,d/=g--,--b;d*=b);}
Здравствуйте, igna, Вы писали:
W>>Ни зачем, им так больше нравится, для однообразия с sizeof и тд
I>Для однообразия с sizeof нечего применять скобки и с sizeof тоже
А я вот совершенно случайно (и относительно недавно) обнаружил что с sizeof можно не юзать скобки
Сказал "нунадаже!" и все равно продолжил их юзать.
А в последнее время вообще, даже стараюсь их везде юзать. Типа (a+(b*c)).
--
Но я вот одно понять не могу
int foo(int x) {
if (x) {
return (-1);
}
else {
return (0);
}
}
Нафига тут "else"?
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Здравствуйте, RonWilson, Вы писали:
RW>Здравствуйте, YourLastSong, Вы писали:
YLS>>Здравствуйте, уважаемые господа.
YLS>>Есть ли у кого-то примеры кода на C/C++, который не кажется очевидным при первом взгляде на него?
RW>немного не в тему, но часто вижу и такое:
Здравствуйте, YourLastSong, Вы писали:
YLS>Здравствуйте, уважаемые господа.
YLS>Есть ли у кого-то примеры кода на C/C++, который не кажется очевидным при первом взгляде на него?
YLS>Например, что-то наподобие такого:
Программа, печатающая саму себя.
char *f="char *f=%c%s%c;%c#define Q '%c'%c#define N '%cn'%c#define B '%c%c'%c#include <stdio.h>%cvoid main(){printf(f,Q,f,Q,N,Q,N,B,N,B,B,N,N,N);}%c";
#define Q '"'#define N '\n'#define B '\\'#include <stdio.h>
void main(){printf(f,Q,f,Q,N,Q,N,B,N,B,B,N,N,N);}
По ссылке на Вики еще есть интересная вещь, когда программа на C++ печатает программу на Java, которая потом печатает снова тот же C++ код. Есть и более длинные циклы по языкам.
Здравствуйте, YourLastSong, Вы писали:
YLS>Есть ли у кого-то примеры кода на C/C++, который не кажется очевидным при первом взгляде на него?
В стандарте C++11 появились лямбда-выражения, например
[] (int x) { std::cout << x << std::endl; } (5);
Следующий код успешно компилируется в 10-ой студии:
[](){}();[]{[]{}();}();