읽고 나면 숨겨진 기능 및 C ++ / STL의 어두운 구석을 에 comp.lang.c++.moderated
, 나는 완전히 다음은 컴파일 및 Visual Studio 2008 및 G ++ 4.4 모두에서 일 니펫 것을 놀랐습니다.
코드는 다음과 같습니다.
#include <stdio.h>
int main()
{
int x = 10;
while (x --> 0) // x goes to 0
{
printf("%d ", x);
}
}
산출:
9 8 7 6 5 4 3 2 1 0
GCC에서도 작동하기 때문에 이것이 C라고 가정합니다. 이것은 표준에서 어디에 정의되어 있으며 어디에서 왔습니까?
#define upto ++<
, #define downto -->
. 당신이 악하다고 느끼면, 당신은 할 수 #define for while(
있고 #define do ) {
(그리고 #define done ;}
) 쓸 수 for x downto 0 do printf("%d\n", x) done
있고, 인류는 ...
++
또는--
이전 ...