s.empty() 如果s为空串,则返回true,否则false
s.size() 返回s中字符的个数
s[n] 返回s中位置为n的字符,位置从0开始计数
s1+s2 把s1和s2连接成一个新的字符串,返回新生成的字符串
s1 = s2 把s1内容替换为s2的副本
v1 == v2 比较v1和v2的内容,相等返回true,否则false
1.size操作返回的是string::size_type类型的值。
string类类型和许多其他库类型都定义了一些配套类型。通过这些配套类型,库类型的使用就能与机器无关。
size_type类型定义为与unsigned型(unsigned int 或 unsigned long)具有相同含义。且可以保证足够大能够存储任意string对象的长度。
注:任何存储string的size操作结果的变量必须为string::size_typel类型。特别重要的是,不要把size的返回值赋给一个int变量。
虽然我们不知道string::size_type的确切类型,但可以知道它是unsigned型。对于任意一种给定的数据类型,它的unsigned型所能表示的最大正数值比对应的signed型要大一倍。这个事实表明size_type存储的string长度是int所能存储的两倍。
有些机器上int变量的表示范围太小,如16位的int型机器上,int类型变量最大只能表示32767个字符的string对象。
为了避免溢出,保存一个string对象size的最安全的方法就是使用标准库类型string::size_type