知识点1【STL的概述】
STL(Standard Template Library,标准模板库)
STL的三大组件:容器(container)、算法(algorithm)、迭代器(iterator)。
算法操作数据,容器存储数据,迭代器是算法操作容器的桥梁,迭代器和容器一一对应。
STL六大组件:
容器 算法 迭代器 仿函数 适配器 空间配置器
容器:存放数据
算法:操作数据
迭代器:容器和算法的桥梁
仿函数:为算法提供更多的策略
适配器:为算法提供更多的参数接口
空间配置器:管理容器和算法的空间
算法的分类:
质变算法:是指运算过程中会改变区间元素的内容。例如拷贝,替换,删除等。
非质变算法:是指运算过程中不会区间的元素内容,例如查找、计数、遍历、寻找极值。
迭代器的分类:
知识点2【迭代器的案例】
案例:容器vector
#include <iostream>
#include <vector>
#include<algorithm>
void myPrintInt(int num);
using namespace std;
void test01(){
//单端动态数组vector类模板
vector<int> arr(0);
//push_back()尾部插入数据
arr.push_back(100);
arr.push_back(200);
arr.push_back(300);
arr.push_back(400);
//访问数据
//定义一个迭代器存储arr的起始迭代器
vector<int>::iterator beginIt = arr.begin();
//定义一个迭代器存储arr的结束迭代器
vector<int>::iterator endIt = arr.end();
//for循环遍历1
for(vector<int>::iterator i = beginIt; i != endIt; i++){
//对迭代器取* 代表的是 容器的元素
/
void test01(){
//string(const char* s);//使用字符串s初始化
string str1 = "hello";
cout << str1 << endl;
//string(int n, char c);//使用n个字符c初始化
string str2(10,'H');
cout<<str2<<endl;//"HHHHHHHHHH"
}
int main(int argc, char *argv[])
{
test01();
return 0;
}
到此这篇关于c++中string和vector的详细介绍的文章就介绍到这了,更多相关c++ string和vector内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!