C++ string类详解与实例

需积分: 10 0 下载量 176 浏览量 更新于2024-07-14 收藏 675KB PDF 举报
C++ String类是C++标准库中的一个重要组成部分,它提供了一种方便、灵活的方式来处理文本字符串。在C++中,string类是一个模板类,其基础类型通常是字符(char),但可以通过指定其他类型来扩展。使用string类时,首先要包含头文件<string>。 string类的实例化有多种方式: 1. **单参数构造函数**:通过提供一个字符串作为参数,如`string s1("Hello")`,这会创建一个包含"Hello"的string对象。 2. **两个参数构造函数**:允许用户指定长度和填充字符,如`string s2(8, 'x')`,这会创建一个长度为8且全由'x'填充的string对象。 3. **赋值操作**:可以将字符直接赋给string对象,如`s = 'n';`,但需要注意的是,不能直接用单个字符或数字进行初始化,例如`string error1 = 'c';`这样的写法是错误的。 4. **初始化变量时的错误示例**:除了上述正确的初始化方法,尝试用字符或整数作为参数也是错误的,如`string error2('u')`或`string error3(22)`都会导致编译错误。 5. **成员函数**:string类提供了丰富的成员函数,如`length()`用于获取对象的长度,`getline(cin, s)`用于从输入流读取一行文本,`assign()`函数用于复制或部分复制其他string对象的内容。例如,`strings1("cat"), s2; s2 = s1;`是通过赋值操作符实现字符串复制,而`s3.assign(s1, 1, 3)`则是部分复制s1中的子串。 6. **异常处理**:当尝试构造一个长度过长的string时,会抛出`length_error`异常。如代码示例中,如果`strings("hello")`导致字符串长度超过可用内存,就会触发这个异常。 在程序样例中,展示了如何使用string类的基本功能,包括构造、输出、长度获取、输入流读取和赋值操作。通过这些操作,可以轻松地处理和操作文本数据。 C++的string类是一个强大的工具,它提供了字符串的创建、操作和管理功能,使得字符串处理变得更加简洁高效。掌握并灵活运用string类,对于编写高质量的C++程序至关重要。