Setelah membaca Fitur Tersembunyi dan Sudut Gelap C ++ / STL aktif comp.lang.c++.moderated, saya benar-benar terkejut bahwa cuplikan berikut dikompilasi dan bekerja di Visual Studio 2008 dan G ++ 4.4.
Berikut kodenya:
#include <stdio.h>
int main()
{
int x = 10;
while (x --> 0) // x goes to 0
{
printf("%d ", x);
}
}
Keluaran:
9 8 7 6 5 4 3 2 1 0
Saya berasumsi ini C, karena berfungsi di GCC juga. Di mana ini didefinisikan dalam standar, dan dari mana asalnya?
#define upto ++<, #define downto -->. Jika Anda merasa jahat, Anda dapat melakukan #define for while(dan #define do ) {(dan #define done ;}) dan menulis for x downto 0 do printf("%d\n", x) doneOh, kemanusiaan ...
++atau--sebelum ...