string是C++风格的字符串,而string本质上是一个类
char *
是一个指针
string是一个类,类内部封装了char*
,管理这个字符串,是一个char*
型的容器。
string 类内部封装了很多成员方法
例如:查找find,拷贝copy,删除delete 替换replace,插入insert
string管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责
构造函数原型:
string();
创建一个空的字符串 例如:string str;
string(const char* s);
使用c语言字符串s初始化
string(const string& str);
使用一个string对象初始化另一个string对象(拷贝构造)
string(int n, char c);
使用n个字符c初始化
例子:
#include<iostream>
#include<string>
using namespace std;
int main(){
//1、默认无参构造,创建空字符串
string str1;
str1 = "str1";
cout << str1 << endl;
//2、使用c语言字符串初始化string
char * ch = "str2";
string str2(ch);
cout << str2 << endl;
//3、使用string类型的字符串引用初始化新的字符串
string temp = "str3";
string str3(temp);
cout << str3 << endl;
//4、使用n个相同字符来初始化字符串
string str4(5,'a');
cout << str4 << endl;
system("pause");
return 0;
}
string& operator=(const char* s);
char*
类型字符串赋值给当前的字符串string& operator=(const string &s);
把字符串s赋给当前的字符串string& operator=(char c);
字符赋值给当前的字符串string& assign(const char *s);
把字符串s赋给当前的字符串string& assign(const char *s, int n);
把字符串s的前n个字符赋给当前的字符串string& assign(const string &s);
把字符串s赋给当前字符串string& assign(int n, char c);
用n个字符c赋给当前字符串例子: