Знай и люби родной язык

Aug 07, 2008 13:42

Речь пойдет конечно-же о языке C.

Разбирая баги появившиеся при установке нового компилятора (mingw 4.3.0) и
читая код маковской библиотеки CoreFoundation, открыл очередной способ
извратиться; способ наверно нужен только для написания макросов.

Оказывается, можно сделать так:

int n = ({ double p = func(); int i, s; for(i=0;i<10;i++) s += f(i, p); s; });

А если своими словами то там где можно написать выражение, можно внутри выражения
писать фигурные скобки, и внутри них соответственно вообще все что хочешь.
Главное не забыть последней операцией вернуть значение выражения - в примере возвращается s...
В общем это помогает писать навороченные макросы, хотя навороченные макросы я писал
и раньше, но про такое не знал...
Previous post Next post
Up