《C++ Primer》学习笔记之vector
来源:互联网 发布:矩阵论期末考试试题 编辑:程序博客网 时间:2024/06/05 00:26
vector是C++标准库提供的一种类模板,是同一种类型的对象的集合,每一个对象都有一个对应的索引(整数)。vector也被称为容器。使用它必须包含include <vector>
vector不是一种数据类型,而是一个类模板,可以用来定义任意多种数据类型。vector类型的每一种都制定了其保存元素的类型。so,vector<int>和vector<string>都是数据类型。
vector对象的定义和初始化
vector类定义了多种构造函数,用来初始化vector对象
比如:
vector<T> v1; // v1为空
vector<T> v2(v1); //v2是v1的一个副本
vector<T> v3(n,i ); //v3包含n个值为i的元素
vector<T> v4(n); //v4含有初始化元素的n个副本,类似于数组 T V[n]
对于内置数组 我们可以显式地把数组的元素初始化为一组常量值,例如 :
int ia[ 6 ] = { -2, -1, 0, 1, 2, 1024 };
我们不能用同样的方法显式地初始化 vector ,但是可以将 vector 初始化为一个已有数组的全部或一部分,只需指定希望被用来初始化 vector 的数组的开始地址以及数组最末元的下一位置来实现,例如:
// 把 ia 的 6 个元素拷贝到 ivec 中
vector< int > ivec( ia, ia+6 );
被传递给ivec 的两个指针标记了用来初始化对象的值的范围,第二个指针总是指向要拷贝的末元素的下一位置,标记出来的元素范围也可以是数组的一个子集,例如 :
// 拷贝 3 个元素 ia[2], ia[3], ia[4]
vector< int > ivec( &ia[ 2 ], &ia[ 5 ] );
与内置数组不同 vector 可以被另一个 vector 初始化 或被赋给另一个 vector 例如
vector< string > svec;
void init_and_assign()
{
// 用另一个 vector 初始化一个 vector
vector< string > user_names( svec );
// ...
// 把一个 vector 拷贝给另一个 vector
svec = user_names;
}
- C++primer笔记之vector多态
- 《C++ Primer》学习笔记之vector
- c++primer之vector
- linux & C++Primer 学习笔记--标准库vector类型
- c++primer学习笔记(3.3)标准库vector类型
- c++primer学习笔记-----3.3标准库类型vector
- C++ primer阅读笔记之标准库vector类型学习
- 《C++ Primer》学习之vector
- C++Primer学习笔记之二
- C++Primer学习笔记之三
- C++primer学习笔记之函数
- 《C Primer Plus》学习笔记之 函数
- C++PRIMER学习笔记
- c++primer学习笔记
- c++primer学习笔记
- C++primer学习笔记
- c++primer 学习笔记
- C++Primer 学习笔记
- 如何在eclipse中添加android ADT
- Hibernate多对多查询
- java中static变量和方法的总结
- android优化
- BufferedImage操作图片笔记
- 《C++ Primer》学习笔记之vector
- oracle timestamp与字符串转换
- wParam和lParam消息
- 对Asp.net Mvc 和 jQuery UI使用者的一些忠告
- 液晶屏LVDS,TTL,RSDS接口样式的区别方法
- 空字符串可以作为HashMap的key
- 由String s=new String ("abc");引发的联想(类对象引用)
- JAVA运行【本地程序】
- httpRuntime 元素(ASP.NET 设置架构)