Bonjour
Je rédige un petit mémo sur les différents types de données pour un développeur en herbe.
En voulant décrire le type string, je trouve sur le wiki embarcadero le texte suivant:
J'ai toujours fait les choses en fonction de ça mais pourtant le code suivant semble prouver le contraire.Une variable chaîne de type UnicodeString ou AnsiString occupe 4 octets de mémoire sur les plates-formes 32 bits (et 8 octets sur 64 bits) qui contiennent un pointeur sur une chaîne allouée dynamiquement. Quand une variable chaîne est vide (contient une chaîne d'une longueur de zéro), le pointeur chaîne est nil et aucune mémoire dynamique n'est associée à la variable chaîne.
[Window Title]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 procedure TForm9.Button1Click(Sender: TObject); var S: String; begin ShowMessageFmt('%p -> %s', [@S, S]); end;
Project4
[Content]
0019F29C ->
[OK]
Donc, le pointer n'est pas nil
Qu'est-ce que je n'ai pas vu exactement ? Une option de projet spécifique ?
Partager