vector
来源:互联网 发布:dva矩阵 编辑:程序博客网 时间:2024/05/17 04:15
简介
vector是一个类模板,是同一种类型对象的集合,每个对象都有一个对应的整数索引,我们将其称为容器。
声明&初始化
头文件和命名空间
#include <vector>using std::vector;
声明:需要提供附加信息,也即是必须要说明保存何种对象的类型,定义只需要指定类型和变量列表即可。
vector<int> ivec;vector<string> svec;
vector本身不是一种数据类型,而是一个类模板,只是说她可用来定义任意多种数据类型。当vector指定了其保存元素的类型时他就是一种数据类型了,因此上述vector< int >和vector< string >都是数据类型。
定义和初始化
class T;T i;int n;vector<T> v1;vector<T> v2(v1);vector<T> v3(n, i);vector<T> v4(n);
在上述第4种定义方式种,他是如何初始化的?事实上,如果没有指定元素的初始化方式,标准库会自行提供一个元素的初始值来进行值初始化,具体取决于vector中保存的何种数据类型:
- 如果保存内置类型(如int)的元素,标准库将用0来创建元素初始化式;
- 如果保存的是含有构造函数的类类型(如string)的元素,将使用该类型的默认构造函数进行初始化;
vector<int> v4(10); // 10元素,每个会被初始化为0vector<string> v5(10); // 10个元素,每个都是空串
vector对象的操作
1、size操作
v.size()返回相应vector类定义的size_type的值,使用size_type时必须说明vector的元素类型。
vector<int>::size_type // √vector::size_type // ×
size_type的必要性:
1)它是一种unsigned类型,对于任意一种给定的数据类型,unsigned型所能表示的最大正数都比相应的signed型大一倍;
2)如果不使用size_type而使用int会存在一些问题,比如有些机器上int变量的表示范围不一样,而使用size_type完全不用担心这个问题(size_type是机器无关的)。
阅读全文
0 0
- vector
- vector
- Vector
- Vector
- vector
- vector
- VECTOR
- VECTOR
- VECTOR
- vector
- vector
- Vector
- vector
- vector
- vector
- Vector
- vector
- vector
- 值传递和引用传递
- Spring IoC有什么好处呢?
- hadoop2.x之IO:基于文件的数据结构
- 求割点(邻接表无向图)C~
- 北京武汉企业商会同仁参观考察亨瑞集团北京总部
- vector
- 看懂UML类图和时序图
- 马来西亚交通部长来访汪国新北京诗书画院
- Python-Pandas(5)核心数据结构Series详解
- 笔试题 5
- Hexo + Github Pages搭建个人独立博客
- 中国航油前总裁参观汪国新北京诗书画院
- 二分查找的三种方式
- AIX基本操作命令