Bonjour,
Merci pour vos retours et explications.
Deux mots rapides :
mais pourtant souvent rencontré : est-ce à dire que son utilité serait de transmettre par référence (juste l'adresse, donc) par exemple une liste non modifiable (une liste où on va aller seulement lire des datas), ce qui sera plus rapide que de recopier toute la liste si l'on omet ce const ?
Je la sens bien, cette explication,
Oui, mais ça peut être gênant s'il s'agit par ex. d'une grosse vidéo qui va donc se retrouver dupliquée, avec tous les inconvénients liés : temps passé à le faire, occupation mémoire...
Ce qui me choque, là, c'est la fin de la phrase, la partie entre parenthèses, Paul ayant écrit
En fait, tout tourne autour de ces 2 phrases du post 14, et voilà l'autre :
Ok, donc var n'est pas nécessaire si je veux modifier le contenu, mais pourrait être utile pour économiser une recopie de datas et une conso mémoire, non ?
Prenons un exemple :
Je charge un bmp de travail avec un fichier.bmp, et je veux lui trafiquer les couleurs. J'écrirai donc une function TrafiqueCouleurs(var aBmp: TBitmap): boolean; qui sera appelée par if TrafiqueCouleurs(MonBmpdeTravail) then comme ça je sais si le boulot s'est fait correctement, et j'ai gagné pas mal de temps si on considère que certains fichiers peuvent peser des centaines de Mo (233,7 Mo pour ce Jérome Bosch, 5 vraies minutes pour le charger dans mon Gimp, la machine n'est pas toute jeune...).
Bon, honnêtement, je n'ai jamais fait de tests, je me contente de faire confiance à ceux qui écrivent ce genre de recommandations.
En fait, le piège dans lequel j'étais tombé, c'est "et c'est lui qui réclame un type identique" : faudra juste que j'y fasse très attention la prochaine fois.
Merci à tous et bon dimanche (ouf ! Il fait moins chaud )
Partager