string类
要使用string类,必须包含相关头文件,例如:
#include <string>
一、string对象定义和初始化
常用构造函数有:
string s1; /* 默认构造函数,s1为空串 */
string s2(s1); /* 将s2初始化为s1的一个副本 */
string s3("Value"); /* 将s3初始化为一个字符串字面值副本 */
string s4(n, 'c'); /* 将s4初始化为字符'c'的n个副本 */
二、string对象的操作
常用的操作有:
s.empty() /* 判断字符串s是否为空 */
s.size() /* 返回字符s中字符个数 */
s[n] /* 返回字符串s中位置n处字符 */
s1 + s2 /* 把字符串s1和s2连接一个新的字符串,并返回新的字符串 */
s1 = s2 /* 把s1内容替换为s2的副本 */
v1 == v2 /* 比较两个字符串v1和v2 */
!=, <, <=, >和>= /* 关系运算符 */
三、关于string对象的赋值
// st1 is an empty string, st2 is a copy of the literal
string st1, st2 = "The expense of spirit";
st1 = st2; // replace st1 by a copy of st2
赋值操作需要先释放掉st1占有的内存空间,然后再分配给st1足够存放st2副本的内存空间,最后把st2的所有字符复制到新分配的内存空间处。