c++ string和数组区别
头文件
#include<string>
初始化
//只声明
string str;
//声明且初始化
string str = "abc";
//声明后复制其他字符串值
string str2 = "abc";
string str1 = str2;
//声明后将所有字符都赋予同样值
string str(4,'s'); //字符串含有4元素,每个元素是字符s
可以使用数组指针的形式遍历字符串:str[i] //返回下标为i的字符串元素
但是和数组不同的是,字符串是可以动态插入,数组一旦声明大小后不可修改,string可以使用insert在任意位置插入元素,形式:
str.insert(str.end(),'s'); //在s的结尾处插入's'
注意:不论是数组还是string,都不可直接将长度声明为变量值,如下是不行的
string str1 = "abc"; string str2[str1.length()]; //这种方式是不行的,[]内只能是常量值
可以使用以下方式定义长度为变量的字符串或者数组
char *str2 = new char(str1.length());