☰
String类功能
2026/11/2 6:30:15 网站建设 项目流程

reverse、resize

void test1() { string a1("111111111111111111111111111111"); string::iterator a11 = a1.begin(); cout << a1.size() << endl; cout << a1.capacity() << endl; //在知道该开多少空间的时候解决一直开空间造成的效率低问题 a1.reserve(100); cout << a1.size() << endl; cout << a1.capacity() << endl; for (auto a : a1) { printf("%c", a); } printf("\n"); //如果传的参数小于size会删数据 //只改变size不改变capacity a1.resize(10, 'x'); cout << a1.size() << endl; cout << a1.capacity() << endl; for (auto a : a1) { printf("%c", a); } printf("\n"); }

[]与at、append、assign

//区别是对于[]的重载可以对静态string进行操作 //[]越界直接assert 而at是抛异常容易调试 printf("%c\n", a1[1]); printf("%c", a1.at(1)); a1.append("abd"); for (auto a : a1) { printf("%c", a); } printf("\n"); //不管原先数组是什么 直接把数组改变成想要的内容比如5个x a1.assign(5, 'x'); cout << a1.size() << endl; cout << a1.capacity() << endl; for (auto a : a1) { printf("%c", a); } printf("\n");

insert、erase

//在某个位置插入删除 可以传iterator a1.insert(1, "abc"); for (auto a : a1) { printf("%c", a); } printf("\n"); a1.erase(2); for (auto a : a1) { printf("%c", a); } printf("\n");

shrink_to_fit

//把capacity尽量缩到跟size差不多 a1.shrink_to_fit(); cout << a1.size() << endl;//2 cout << a1.capacity() << endl;//15

一些笔记

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询