- 内容提要
- 前言
- 第 1 章 预备知识
- 第 2 章 开始学习 C++
- 第 3 章 处理数据
- 第 4 章 复合类型
- 第 5 章 循环和关系表达式
- 第 6 章 分支语句和逻辑运算符
- 第 7 章 函数——C++的编程模块
- 第 8 章 函数探幽
- 第 9 章 内存模型和名称空间
- 第 10 章 对象和类
- 第 11 章 使用类
- 第 12 章 类和动态内存分配
- 第 13 章 类继承
- 第 14 章 C++中的代码重用
- 第 15 章 友元、异常和其他
- 第 16 章 string 类和标准模板库
- 第 17 章 输入、输出和文件
- 第 18 章 探讨 C++新标准
- 附录 A 计数系统
- 附录 B C++保留字
- 附录 C ASCII 字符集
- 附录 D 运算符优先级
- 附录 E 其他运算符
- 附录 F 模板类 string
- 附录 G 标准模板库方法和函数
- 附录 H 精选读物和网上资源
- 附录 I 转换为 ISO 标准 C++
- 附录 J 复习题答案
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
I.8 使用 string 类
传统的 C 风格字符串深受不是真正的类型之苦。可以将字符串存储在字符数组中,也可以将字符数组初始化为字符串。但不能使用赋值运算符将字符串赋给字符数组,而必须使用 strcpy( ) 或 strncpy( )。不能使用关系运算符来比较 C 风格字符串,而必须使用 strcmp( )(如果忘记了这一点,使用了>运算符,将不会出现语法错误,程序将比较字符串的地址,而不是字符串的内容)。
而 string 类(参见第 16 章和附录 F)使得能够使用对象来表示字符串,并定义了赋值运算符、关系运算符和加法运算符(用于拼接)。另外,string 类还提供了自动内存管理功能,因此通常不用担心字符串被保存前,有人可能会跨越数组边界或将字符串截短。
String 类提供了许多方便的方法。例如,可以将一个 string 对象追加到另一个对象的后面,也可以将 C 风格的字符串,甚至 char 值追加到 string 对象的后面。对于接受 C 风格字符串参数的函数,可以使用 c_str( ) 方法来返回一个适当的 char 指针。
string 类不仅提供了一组设计良好的方法来处理与字符串相关的工作(如查找子字符串),而且与 STL 兼容,因此,可以将 STL 算法用于 string 对象。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论