哪些网站建设公司提供专业网站程序上传教程?
摘要:网站程序上传教程,比较出名的网站建设公司,营销和运营的区别是什么,有哪些制作网站的公司20.1 vector容器 20.1.1 vector容器简介 vector是将元素置于一个动态数组中加以管理的容器。vector可以随机存取元素&
网站程序上传教程,比较出名的网站建设公司,营销和运营的区别是什么,有哪些制作网站的公司20.1 vector容器
20.1.1 vector容器简介
vector是将元素置于一个动态数组中加以管理的容器。vector可以随机存取元素#xff08;支持索引值直接存取#xff0c; 用[]操作符或at()方法#xff09;。vector尾部添加或移除元素非常快速。但是在中部或头部插入元素或移除元素比…20.1 vector容器
20.1.1 vector容器简介
vector是将元素置于一个动态数组中加以管理的容器。vector可以随机存取元素支持索引值直接存取 用[]操作符或at()方法。vector尾部添加或移除元素非常快速。但是在中部或头部插入元素或移除元素比较费时
20.1.2 vector容器的构造
1默认构造
vector采用模板类实现vector对象的默认构造形式 vector vecT;
class CA { }; vectorCA* vecpCA; //用于存放CA对象的指针的vector容器。 vector vecCA; //用于存放CA对象的vector容器。由于容器元素的存放是按值复制的方式进行的所以此时CA必须提供CA的拷贝构造函数以保证CA对象间拷贝正常。
2有参构造 vector(beg,end); //构造函数将[beg, end)区间中的元素拷贝给本身。注意该区间是左闭右开的区间。 vector(n,elem); //构造函数将n个elem拷贝给本身。 vector(const vector vec); //拷贝构造函数 20.1.3 vector的赋值
vector.assign(beg,end); //将[beg, end)区间中的数据拷贝赋值给本身。注意该区间是左闭右开的区间。vector.assign(n,elem); //将n个elem拷贝赋值给本身。vector operator(const vector vec);//重载等号操作符vector.swap(vec); // 将vec与本身的元素互换直接是两个容器互换。
20.1.4 vector的大小
vector.size(); //返回容器中元素的个数vector.empty();//判断容器是否为空vector.resize(num); //重新指定容器的长度为num若容器变长则以默认值填充新位置。如果容器变短则末尾超出容器长度的元素被删除。vector.resize(num, elem);//重新指定容器的长度为num若容器变长则以elem值填充新位置。如果容器变短则末尾超出容器长度的元素被删除。
20.1.5 vector的数据存取
vec.at(idx);//返回索引idx所指的数据如果idx越界抛出out_of_range异常。vec[idx]; //返回索引idx所指的数据越界时运行直接报错但是我运行的时候好像也没有报错
20.1.6 迭代器
1迭代器基本原理
迭代器是一个“可遍历STL容器内全部或部分元素”的对象。迭代器指出容器中的一个特定位置。迭代器就如同一个指针。迭代器提供对一个容器中的对象的访问方法并且可以定义了容器中对象的范围。
这里大概介绍一下迭代器的类别 输入迭代器也有叫法称之为“只读迭代器”它从容器中读取元素只能一次读入一个元素向前移动只支持一遍算法同一个输入迭代器不能两遍遍历一个序列。 输出迭代器也有叫法称之为“只写迭代器”它往容器中写入元素只能一次写入一个元素向前移动只支持一遍算法同一个输出迭代器不能两遍遍历一个序列。 正向迭代器最为常用组合输入迭代器和输出迭代器的功能还可以多次解析一个迭代器指定的位置可以对一个值进行多次读/写。 双向迭代器组合正向迭代器的功能还可以通过 - - 操作符向后移动位置。 随机访问迭代器组合双向迭代器的功能还可以向前向后跳过任意个位置可以直接访问容器中任何位置的元素。
