Const de nivel superior no influye en una firma de función

De la 5ta edición de C ++ Primer, dice:

int f(int){ /* can write to parameter */}
int f(const int){ /* cannot write to parameter */}

Las dos funciones sonindistinguible. Pero como saben, las dos funciones realmente difieren en cómo pueden actualizar sus parámetros.

¿Puede alguien explicarme?

EDITAR
Creo que no interpreté bien mi pregunta. Lo que realmente me importa es por qué C ++ no permite estas dos funciones simultáneamente como función diferente, ya que son realmente diferentes en cuanto a "si el parámetro se puede escribir o no". ¡Intuitivamente, debería ser!

EDITAR
La naturaleza depasar por valor es en realidadpasar copiando valores de argumento a valores de parámetro. Incluso parareferencias ypunteros donde se copian los valoresdirecciones. Desde el punto de vista del que llama, ya seaconst ono const se pasa a la función no influye en los valores (y, por supuesto, los tipos de) copiados a los parámetros.
La distinción entrenivel superior const ybajo nivel const Importa al copiar objetos. Más específicamente,nivel superior const(no es el caso debajo nivel const) se ignora al copiar objetos, ya que la copia no influirá en el objeto copiado. Es inmaterial si el objeto copiado o copiado de esconst o no.
Así que para la persona que llama, no es necesario diferenciarlos. Probablemente, desde el punto de vista de la función, lanivel superior const los parámetros no influyen en la interfaz y / o la funcionalidad de la función. Las dos funciones realmente logran lo mismo. ¿Por qué molestarse en implementar dos copias?

Respuestas a la pregunta(7)

Su respuesta a la pregunta