Operador de sobrecarga de C ++ dos veces, una referencia no constante de retorno y la otra referencia de const, ¿cuál es la preferencia?

Yo sobrecargo a un operador dos veces con la misma lista de parámetros. pero con diferente tipo de retorno:

T& operator()(par_list){blablabla}    
const T& operator()(par_list){blablabla}

Entonces, cuando estoy llamando al operador (), ¿a qué función se llamaría según qué preferencia o situación? Sé que si llamo a () bajo la función const, tiene que ser la const T & one.

Solo tengo curiosidad por saber cómo C ++ lidia con esta situación y cómo funciona la preferencia predeterminada.

Gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta