记录下STL的笔记
assign函数的重载与=的重载
//c++中字符串的赋值操作 string str1 = "hello c++"; string str2, str3; str2.assign("hello world"); // cout <<"str1中的内容"<< str1 << endl; cout << "str2中的内容"<<str2 << endl; str2.assign(str1); //将str1中的内容复制给str2 cout << "更改后的str2中的内容为"<<str2 << endl; str3.assign(str1, 0, 5);// 将str1中0-5复制给str3 注意此处assign函数的重载 如果不指定第三个参数默认到最后一个位置 cout << "str3中的内容为"<<str3 << endl;
append函数的重载和+的重载(和python中的函数有些类似)
//c++中字符串的拼接 string str1 = "what"; string str2 = "fuck"; string str3 = str1 + str2; cout << "str3中的内容为" << str3 << endl; string str4 = str3.append("it"); //string str4 = str3.append("it", 0, 2); cout << "str4中的内容为" << str3 << endl;
find函数的重载 replac函数
//字符串的查找和替换操作 string str1 = "come baby"; int pos = str1.find("b"); //返回查找到的第一个字符的下表同时注意下标从0开始 //find 从前往后查找 rfind从后往前查找 find_first_of和find函数类似 //find_first_not_of查找不符合字符的第一个坐标 cout << "查找结果" << pos << endl; pos = str1.find("b", 6,2); //find函数的重载定义查找范围 cout << "从指定位置查找查找结果" << pos << endl; //string str2; str1.replace(4, 3," my "); //注意替换时字符串的长度不变 且当字符长度大于范围时 以字符的长度替代 cout << "str1替换的结果为" << str1 << endl;
at和数组方式
//访问字符串中的数据 string str1 = "i love you"; cout << "数组访问法" << str1[0] << endl; cout << "at方式访问" << str1.at(2) << endl; //字符串的翻转 reverse(str1.begin(), str1.end()); cout << "str1:" << str1 << endl;
insert函数的调用与erase函数clear函数
//字符串的插入与删除 string str1 = "hello"; str1.insert(5, " c++"); string str2 = "hello C++"; str2.erase(0, 5); //删除下标0-5的字符 cout << "str2" << str2 << endl; str2.clear(); //将字符串中的内容全部删除 cout << "str2" << str2 << endl;