Stringa null-terminata: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
sistemate le note
Botcrux (discussione | contributi)
m Bot: correggo nomi e/o ordine e/o formattazione delle sezioni predefinite
Riga 30:
 
La maggior parte delle librerie moderne sostituisce le stringhe C con una struttura contenente un valore di lunghezza pari o superiore a 32 bit (molto più di quanto non sia mai stato considerato per le stringhe di lunghezza prefissata) e spesso aggiunge un altro puntatore, un conteggio dei riferimenti e persino un NUL per accelerare la conversione inversa ad una stringa C. La memoria ora è molto più grande, in modo tale che se l'aggiunta di 3 (o 16 o più) byte a ciascuna stringa è un problema reale, il software dovrà gestire così tante piccole stringhe che qualche altro metodo di archiviazione farà risparmiare ancora più memoria (ad esempio potrebbero esserci così tanti duplicati che una [[Hash table|tabella hash]] utilizzerà meno memoria). Gli esempi includono la [[Standard Template Library]] del [[C++]]<code>[[Stringa (C++)|std::string]]</code>, [[Qt (toolkit)|Qt]] <code>QString</code>, [[Microsoft Foundation Classes|MFC]] <code>CString</code> e l'implementazione basata sul linguaggio C <code>CFString</code> di [[Core Foundation]], nonché il fratello [[Objective-C]] <code>NSString</code> di Foundation, entrambi di Apple. Strutture più complesse possono essere utilizzate anche per riporre le stringhe come le [[Corde (informatica)|corde]].
 
== Note ==
<references />
 
== Voci correlate ==
* [[Stringa vuota]]
* [[Valore sentinella]]
 
== Note ==
<references />
 
{{Portale|informatica}}
 
[[Categoria:Stringhe]]