它是一种超长字符串类型。
这种字符串的内存动态分配,引用计数,并使用了更新前拷贝(copy­-on-write)技术。这类字符串长度没有限制(可以存储多达20亿个字符!),其字符类型也是ANSIChar 类型。
AnsiString是一个类,其中的空间是动态分配的,当我们对变量进行赋值的时候,AnsiString会根据赋值字符串的大小决定空间的大小,比如:
AnsiString str = "111111";
那么,这个空间现在就是7个字节。如果下一次你又另外的赋值:
str = "1111111111";
那么现在空间就是11个字节,空间大小发生了变化
(2)AnsiString::c_str()成员函数
AnsiString::c_str()成员函数返回当前的对象的字符串空间的首指针,让你可以对该空间进行基于字符串的操作,但是,正是因为AnsiString是动态分配的,所以该字符指针不是永远不变的,而是随时会变的,所以该指针只是一个临时的指针,不要永久的保存,因为说不定什么时候就“野”了。