C++ Primer 学习笔记(1)——vector的使用方法
来源:互联网 发布:ubuntu移动一个文件夹 编辑:程序博客网 时间:2024/05/19 00:43
书到手了好几天,今天第一次写学习笔记。看到了对vector迭代器的使用方法,需要mark一下。
vector类型
首先,vector是一个类模版(class template)。使用模版可以编写一个类定义或是函数定义,而用于多种不同的数据类型。因此,可以保存多种类型的vector,例如vector<int>,vector<double>,vector<char>,vector<string>等等,当然可以是自定义的类型,如下代码:
typedef example{int element1;char element2[10];}definetype;vector<definetype> a;
初始化vector
初始化vector有四种方法,分别是:
vector<T> v1;//vector保存类型为T的对象,默认构造函数,v1为空vector<T> v2(v1);//v2是v1的一个副本vector<T> v3(n,i);//v3是包含n个值为i的元素的(C++也可以如此赋值,std::string a(10,'a');a="aaaaaaaaaa")vector<T> v4(n);//v4含有值初始化的元素的n个副本,就是n个空值。
对vector元素的操作
这里只写迭代器操作,不赘述下标操作。C++中迭代器为了实现其连续性,采取了申请非连续内存空间的方法。目前不懂- -
迭代器定义及声明
迭代器(iterator)是一种数据类型,它可检查容器内元素并遍历元素。
请如下声明:
vector<T>::iterator iter;//T means the data type
vector迭代器的自增和解引用运算
迭代器类型可以用解引用操作符(*)来访问迭代器所指元素:
*iter=0;//赋值为0,给当前迭代器所指元素
如果使用const_iterator,不会改变所指元素的值,即不允许用const_iterator进行赋值。
请注意,不能把const_iterator与const的iterator混为一谈,前者不能够写元素,后者的值是不可改变的。
迭代器应用实例
#include <iostream>#include <string>#include <vector>#include <functional>#include <algorithm>using namespace std;int main(){ int n; string a; vector<string> vec; cin>>n; while(n--) { cin>>a; vec.push_back(a); } sort(vec.begin(),vec.end(),less<string>()); cout<<endl; for(vector<string>::iterator iter=vec.begin();iter!=vec.end();++iter) { cout<<*iter<<endl; }}
上述程序实现了输入n个字符串,对字符串进行升序排序并输出的功能。
其中:
1.string类型可以支持长度变化的字符串,C++标准库将负责管理与存储字符相关的内存,以及提供各种有用的操作。string类型的赋值依然有四种方式,如下:
string v1;//string默认构造函数,v1为空string v2(v1);//v2是v1的一个副本string v3("aaa");//将v3初始化为一个字符串字面值副本string v4(n,'c');//将v4初始化为字符'c'的n个副本2.sort排序,less<string>()升序
3.*iter表示当前迭代器所指容器元素
4.迭代器可进行算数操作(如本例的自增)
- C++ Primer 学习笔记(1)——vector的使用方法
- C++ primer学习笔记(1)Vector
- c++primer学习笔记(3.3)标准库vector类型
- C++ Primer学习笔记(3)——神奇的容器vector及其迭代器iterator
- C++ primer学习笔记(5)——vector中装的是string指针怎么办
- C++ primer学习笔记 ——标准库类型vector
- linux & C++Primer 学习笔记--标准库vector类型
- c++primer学习笔记-----3.3标准库类型vector
- c++primer学习之路(4)——string和vector
- 『C++ Primer学习笔记』Chapter 3——string对象、vector对象以及数组的配套类型,C风格字符串问题和处理区别
- C++primer学习笔记(1)
- c primer plus 学习笔记(1)
- C++Primer学习笔记—(const限定符)
- C++primer学习笔记(1)
- C++Primer学习笔记《1》
- 学习笔记(C++primer)
- C++vector的使用方法
- 【C++】vector的使用方法
- 邮件服务器-体系架构之演化过程
- WPF学习总结和记录(八)-尺寸缩放 定位 下
- 苹果下有用的命令
- 从多核到众核处理器
- [PHP]如何使用CodeIgniter简化页面
- C++ Primer 学习笔记(1)——vector的使用方法
- Java - 网络与线程
- 怎样设置才能关闭Win7系统自动更新重启提示
- 假如女人是一种编程语言
- hdu 2545
- ubuntu下安装gcc
- FlexLite 为游戏而生的轻量级UI框架
- GDB related
- ClearSilver模板编程: