string

C语言中,我们用char类型来处理字符,对于字符串,没有专门的类型来处理,只能用指针或者数组,用’\0’来表示字符串的终结。

在C++语言中,引入了string类型来表示字符串。string本质上也是一个类。要使用string需要引入下面的头文件:

1
2
#include <string>
using std::string;

定义和初始化string对象

有两种方式:直接初始化和copy初始化,他们之间的区别在于是否使用”=”

1
2
3
4
5
string s1;           // 默认初始化
string s2 = s1; // copy初始化,s2 是s1的副本
string s3 = "hi"; // copy初始化,s3 是"hi"的副本
string s4(10, 'c'); // 直接初始化
string s5("value"); // 直接初始化

String的操作

对字符串,定义了如下的基本操作:

1
2
3
4
5
s.empty();    // 判断字符串是否为空
s.size(); // 字符串中字符的个数
s1 + s2; // 字符连接
s[n]; // 返回第n个字符的引用
< > <= >= == // 字符串比较

string的输入输出操作

1
2
3
os << s         // 将s输出到输出流中
is >> s // 从输入流中读取字符(会过滤掉起始的空格),直到遇到空格为止。
getline(is, s) // 从输入流中读取一行字符,赋值给s

string::size_type

这个是string特有的表示size大小的类型。实际上是为了解决不同机器的差异而引入的。

显示 Gitment 评论