c++标准库的类模板vector介绍
来源:互联网 发布:淘宝鹊桥推广如何 编辑:程序博客网 时间:2024/06/16 02:02
c++标准库的类模板vector介绍
下面我根据我的学习情况介绍下标准库的类模板vector,它代表一种更健壮的数据类型,提供了许多额外的功能。
C++标准类库提供了模板vector,它使得程序员能够创建一种功能强大并且不容易出错的数据类型。
下面以一个程序的实际例子为例,初识下vector。
// vector_demo.cpp : 定义控制台应用程序的入口点。// #include "stdafx.h"#include <iostream>using std::cout;using std::cin;using std::endl;#include <iomanip>using std::setw;#include <vector>using std::vector; void outputVector(const vector<int>&);void inputVector(vector<int>&);int _tmain(intargc, _TCHAR*argv[]){ vector<int> integers1(7); //创建个vector对象,用于保存int类型的值,其中integers1包含了个元素 vector<int> integers2(10); //integers2包含了个元素,每个vector对象的所有元素都被设置为 cout<<integers1.size()<<endl; //vector的size成员函数获得integers1的大小(元素的个数) outputVector(integers1); cout<<integers2.size()<<endl; outputVector(integers2); //输入并打印integers1和integers2 inputVector(integers1); //将integers1和integers2传递给inputVector函数,从用户处读取每个vector元素的值, inputVector(integers2); //这个函数利用方括号形成左值,用于保存每个vector元素中的输入值 outputVector(integers1); outputVector(integers2); //对vector对象使用(!=)运算符 if(integers1 != integers2) { cout<<"integers1和integers2不相等"<<endl; } //创建动态数组integers3,用integers1初始化 //c++标准库的类模板vector可用来创建一个新的vector对象,并用现有的vector对象的内容初始化 vector<int> integers3(integers1); //创建一个vector对象integers3,并用integers1的副本初始化 cout<<integers3.size()<<endl; outputVector(integers3); //重载赋值(=)运算符 integers1=integers2; outputVector(integers1); outputVector(integers2); //使用相等(==)运算符 if(integers1==integers2) { cout<<"integers1和integers2相等"<<endl; } //用方括号[]创建右值 cout<<integers1[5]; //用方括号[]创建左值 integers1[5]=1000; outputVector(integers1); //下标数组越界————标准类模板vector在它的成员函数at中提供了边界检查,如果它的实参是一个无效的下标,就会“抛出一个异常” //integers1.at(15)=1000;//错误,越界 system("pause"); return0;} void outputVector(const vector<int> &array){ size_ti; //vector的size成员函数返回一个size_t类型(以免发生编译警告) for(i=0; i<array.size(); i++) { cout<<setw(12)<<array[i]; if((i+1)%4==0) { cout<<endl; } } if(i%4!=0) { cout<<endl; }} void inputVector(vector<int>&array){ for(size_t i=0;i<array.size(); i++) { cin>>array[i]; }}
小结:本例展示了c++标准类库的类模板vector,它是一个健壮的,可复用的类,能替换C风格基于指针的数组。
- c++标准库的类模板vector介绍
- C++:标准模板库vector
- 标准模板库vector的总结
- 【C++】 C++标准模板库(一) Vector
- STL标准模板库vector
- 标准模板库介绍
- 标准模板库介绍
- 标准模板库介绍
- 标准模板库介绍
- c++vector模板类
- c++vector模板类
- 精通标准模板库STL的向量Vector用法
- 精通标准模板库STL的向量Vector用法
- 第五章数组与C++标准库类模板vector
- C++,标准库类型vector
- 详细介绍c++/vc++标准模板库(STL)中的map的使用攻略!
- 标准模板库map, vector查找用法
- 标准模板库 vector源码学习
- Cuteeditor 6.0 下载 使用
- 莫名其妙的错误 "HTTP 错误401.x - 未经授权:访问由于凭据无效被拒绝"
- C++为什么需要定义自己的复制构造函数
- javascript 日期判断 比较大小
- 网络蜘蛛-搜狐博客批量下载(之一)
- c++标准库的类模板vector介绍
- 正则表达式 日期 验证
- Java 正则表达式详解_正则表达式
- Request 对象 错误 'ASP 0104 : 80004005'
- Brettle.Web.NeatUpload.dll 使用
- javascript 获得 客户端 分辨率 的值
- javascript 实时 预览 上传时 缩略图
- Android日记之2012/02/03——ActivityGroup和Activity
- 关于EXPDP中的PARALLEL参数