Contar dígitos usando el bucle while

Hace poco hice un programa que necesitaba verificar la cantidad de dígitos en un número ingresado por el usuario. Como resultado, hice el siguiente código:

int x;    
cout << "Enter a number: ";
cin >> x;
x /= 10;
while(x > 0)
{
  count++;
  x = x/10;
}

e lo que puedo decir (incluso con mi experiencia limitada) es que parece crudo y poco elegante.

¿Alguien tiene una idea sobre cómo mejorar este código (sin usar una función c ++ incorporada)?

Respuestas a la pregunta(7)

Su respuesta a la pregunta