O que é o operador “->” em C ++?

Depois de lerRecursos ocultos e cantos escuros de C ++ / STL emcomp.lang.c++.moderated, Fiquei completamente surpreso que o trecho a seguir compilou e funcionou no Visual Studio 2008 e no G ++ 4.4.

Aqui está o código:

#include <stdio.h>
int main()
{
    int x = 10;
    while (x --> 0) // x goes to 0
    {
        printf("%d ", x);
    }
}

Eu suponho que isso é C, já que funciona no GCC também. Onde isso é definido no padrão e de onde vem?

questionAnswers(21)

yourAnswerToTheQuestion