Ver Mensaje Individual
  #7  
Antiguo 09-01-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por delphi.com.ar
Entonces si modifico S2 se modifica S1??
No, pero mira esto:

Código Delphi [-]
var
  S, T: String;

begin
  S := 'Hola';
  T := S;

  Assert(Addr(Pointer(S)^) = Addr(Pointer(T)^));

  S[1] := 'P';

  Assert(Addr(Pointer(S)^) = Addr(Pointer(T)^));
end;

El primer Assert no falla, luego de la asignación, S y T realmente apuntan a lo mismo. El segundo Assert falla, al modificar S es cuando se crea la copia.

// Saludos
Responder Con Cita