c++STL-string&vector
初识
为了建立数据结构和算法的一套标准,诞生了STL
STL(Standard Template Library 标准模版库)
STL从广义上分为:容器、算法、迭代器
容器和算法之间通过迭代器进行无缝连接
STL大体分为六大组件:
容器、算法、迭代器、仿函数、适配器、空间配置器
string
string是C++风格的字符串,而string本质上是一类
构造函数
int main() {
string s1;
const char* str= "Hello";
string s2(str);
string s3(s2);
string s4(10,'a');
cout << s1 << endl << s2 << endl << s3 << endl << s4;
}
赋值
int main() {
string name = "张三";
name.assign("李四");
name.assign("hello C++",5);
name.assign(name);
name.assign(10,'w');
cout << name << endl;
}
追加
int main() {
string name = "张三";
name +="中国";
name +='中';
name.append("hello world",6,5);
cout << name << endl;
}
查找和替换
字符串比较
字符串存储
插入和删除
子串
vector
不同之处在于数组是静态空间,而vector可以动态扩展
动态扩展:将元数据拷贝到新空间,释放原空间
vector的迭代器器支持随机访问
构造函数
赋值
容量大小
插入与删除
数据存取
元素互换
预留空间
遍历访问
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> v;
// 尾插数据
v.push_back(10);
v.push_back(20);
v.push_back(30);
v.push_back(40);
// 通过迭代器访问容器中的数据
vector<int>::iterator itBegin = v.begin();// 起始迭代器,指向第一个位置
vector<int>::iterator itEnd = v.end();// 结束迭代器,指向最后一个元素下一位置
for(itBegin = itBegin; itBegin != itEnd; itBegin++) {
cout << *itBegin << endl;
}
for_each(v.begin(), v.end(), [](int i){cout << i << endl;});
}
原文地址:https://blog.csdn.net/zhouhe_/article/details/142348311
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!