最近学习C++时,被几种字符串搞的有点乱,这里记录一下。
c++中有两种风格字符串,分别是:
- C++风格字符串
- C风格字符串
它们各自的声明方式如下:
void main(){ string a = "hello"; //C++风格 char *b = "hello"; //C风格 char c[] = "hello"; //C风格 }
C++风格字符串
string是c++标准库定义的类型。string支持下标操作,可以修改string中的一部分。同时string可以看作存储char的vector容器的特化,所以string支持一般的容器操作。
string a="hello“; a[3] = 's'; //支持下标操作 //通过迭代器输出首尾元素 cout<<*a.begin(); auto e = a.end(); cout <<*(--e);
C风格字符串
C风格字符串不是一种类型,而是一种约定俗成的写法。即字符串放在字符数组中并以空字符结束(’ ‘)。
char ca1[]={'C', '+', '+'}; //没有以’ '结尾,非c风格字符串 char ca2[]={'C', '+', '+', '