Est-ce que vous voyez une différence entre
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 procedure TC_Differentielle.clone(source : TDoubleDynArray;var destination : TDoubleDynArray); var i : integer; begin SetLength(destination,0); //Effecement de la liste SetLength(destination,length(source)); //Réallocation for i:=0 to length(source)-1 do destination[i] := source[i]; //Affectation end;
Hormis bien sûr le fait que la deuxième solution est plus lente et un petit peu stupide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 procedure TC_Differentielle.clone(source : TDoubleDynArray;var destination : TDoubleDynArray); var i : integer; begin SetLength(destination,0); //Effacement de la liste for i:=0 to length(source)-1 do begin SetLength(destination,length(destination)+1);//Réallocation progressive destination[i] := source[i];//Affectation end; end;
Car en fait, si j'utilise la deuxième solution, j'ai des affectations foireuseuses. A la sortie, je me retrouve avec la liste qui contient n'importe quoi.
Est-ce normal ?
Partager