#include<iostream>
#include<string>
#include<stdexcept>
using namespace std;
//string 容器;
//包含#include<string>头文件;
//string 构造函数的基本操作
void test01()
{
/*
string();//创建一个空的字符串 例如: string str;
string(const string& str);//使用一个string对象初始化另一个string对象
string(const char* s);//使用字符串s初始化
string(int n, char c);//使用n个字符c初始化
*/
string str; //默认构造函数
string str1(str); //拷贝构造函数
string str2 = str; //拷贝构造函数
string str3 = "sadsf";//有参构造函数
string str4(10, 'c');//有构造函数
cout << str3 << endl;
cout << str4 << endl;
}
//显示结果和预期一样;
void test02()
{
/*
string基本赋值操作
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赋给当前字符串
string& assign(const string &s, int start, int n);//将s从start开始n个字符赋值给字符串
*/
string str;
str = "hello";
string str2;
str2 = str;
cout << str << endl << str2 << endl;
//assign的重载版本:
//string& assign(const char *s, int n);//把字符串s的前n个字符赋给当前的字符串
string str3;
str3.assign("asddaf", 3);
cout << str3 << endl;
//输出asd&#
STL-------string的API
最新推荐文章于 2024-01-17 13:15:33 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)