¿Qué significa el operador '-->' en C++ y por qué funciona?
¡Hola a todos! Estoy aprendiendo C++ y me topé con un código extraño en internet. Decía algo así:
```cpp
int x = 10;
while (x --> 0) {
printf("%d ", x);
}
```
¡Y este código funciona! Imprime los números del 9 al 0. Al principio pensé que era un nuevo operador "flecha" (arrow operator) que me había perdido en el libro de texto. Pero luego intenté escribir `x --> 0` sin espacios como `x-->0` — también funciona. Pero `x->0` no, da un error de compilación.
Busqué en la documentación de C++ y no encontré ninguna mención del operador `-->`. En el estándar de C++ existen los operadores `->` (acceso a miembro mediante puntero), `--` (decremento), pero no `-->`. ¿Cómo es esto posible? ¿Es un truco del compilador o una característica del estándar? ¿Por qué el código con `while (x --> 0)` se compila y funciona, aunque ese operador no exista? ¿Y es seguro escribir así en proyectos reales? ¡Agradecería una explicación!
P.D. Versión del compilador: GCC 11.2, estándar C++20.
<<>>