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