¿Qué diferencia hace cuando uso un parámetro const
en un procedimiento?¿Qué diferencia hace cuando uso "const" en el parámetro de un procedimiento?
Tome el siguiente procedimiento, por ejemplo:
procedure DoSomething(Sender: TObject; const Text: String; var Reply: String);
begin
//Text is read-only and Reply will be passed back wherever DoSomething() was called
Reply:= Text;
end;
El parámetro Text: String
tiene el prefijo const
de manera que (por lo que yo sé), se hace una copia del valor y se utiliza - y es de sólo lectura . Lo que me preguntaba es ¿cómo afecta esto a la aplicación de forma diferente que si no pusiera const
allí? Tal vez un truco de rendimiento?
Respondido aquí? http://stackoverflow.com/a/1601124/496736 –
En la mayoría de los casos, creo que la principal ventaja de marcar cuidadosamente todos los parámetros de entrada solo como 'const' es que usted, el programador, obtendrá una ayuda adicional para evitar la tontería loco. –
@Andreas Lo irritante es que el 'const' debe incluirse tanto en la interfaz como en la implementación. Esta es un área donde C++ vence a Delphi. –