Delphi中String分为Short String和Long String。
所谓Short String是与标准PASCAL语言一致的String, 即一个计数的字符数组, 其实际结构为str[0]保存字符串长度, 从str[1]到str[Length(str)]为字符串。
而Long String是从delphi 2.0开始引入的,在所有的32位版本delphi中默认都使用Long String做为String。Long String的容量只受有限内存的限制,在32位系统中最多可有4G,如果采用Intel的页面扩展技术还可以更大,不过通常这已经没有什么意义了,另外Long String是有引用计数的。
Long String 在内存中的结构近似一个指针,其所指向的即字符串的第一个字符,这正动态内存管理需要的,也使得实现“写时复制”变得非常简单。
如何使用Short String?
var ss: ShortString;如何使用Long String?
var s: String;什么是AnsiString?
如何验证呢?
跟一下下面这段代码即可。
var ss: ShortString; s,s2: string; begin ss := 'shot!'; s := 'the crazy string!'; s2 := s; s2 := s2+'faint!'; ShowMessage(s); ShowMessage(s2); ShowMessage(ss); end;