O que significa o operador '-->' em C++ e por que ele funciona?
Olá a todos! Estou estudando C++ e me deparei com um código estranho na internet. Lá estava escrito algo como:\n\n```cpp\nint x = 10;\nwhile (x --> 0) {\n printf("%d ", x);\n}\n```\n\nE esse código funciona! Ele imprime os números de 9 a 0. No começo, pensei que fosse algum novo operador "seta" (arrow operator) que eu tinha perdido no livro. Mas depois tentei escrever `x --> 0` sem espaços como `x-->0` — também funciona. Já `x->0` — não, dá erro de compilação.\n\nProcurei na documentação do C++ e não encontrei nenhuma menção ao operador `-->`. No padrão C++ existem os operadores `->` (acesso a membro via ponteiro), `--` (decremento), mas não `-->`. Como isso é possível? É algum truque do compilador ou uma característica do padrão? Por que o código com `while (x --> 0)` compila e funciona, embora tal operador não exista?