C++中的vector

来源:互联网 发布:调音器软件下载 编辑:程序博客网 时间:2024/06/06 03:58

C++中的vector与matlab中的cell胞体有点像,就是什么类型的数据都可以放入vector中,下面是一些相关知识

1.Vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,

是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。

(1)创建一个vector
vector容器提供了多种创建方法:
创建一个Widget类型的空的vector对象: vector vWidgets;
创建一个包含500个Widget类型数据的vector: vector vWidgets(500);
创建一个包含500个Widget类型数据的vector,并且都初始化为0: vector vWidgets(500, Widget(0));
创建一个Widget的拷贝: vector vWidgetsFromAnother(vWidgets);

(2)向vector添加一个数据
vector添加数据的缺省方法是push_back()。
push_back()函数表示将数据添加到vector的尾部,并按需要来分配内存。
例如:向vector中添加10个数据,需要如下编写代码:
for(int i= 0;i<10; i++)
vWidgets.push_back(Widget(i));
获取vector中制定位置的数据

(3)vector里面的数据是动态分配的,使用push_back()的一系列分配空间常常决定于文件或一些数据源。如果想知道vector存放了多少数据,可以使用empty()。
获取vector的大小,可以使用size()。
例如,如果想获取一个vector v的大小,但不知道它是否为空,或者已经包含了数据,如果为空想设置为-1,你可以使用下面的代码实现:
int nSize = v.empty() ? -1 : static_cast(v.size());

(4)访问vector中的数据:vector::at()
(5)删除vector中的数据
vector能够非常容易地添加数据,也能很方便地取出数据,同样vector提供了erase(),pop_back(),clear()来删除数据,
当删除数据时,应该知道要删除尾部的数据,或者是删除所有数据,还是个别的数据。

2.debug和release

debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,
而且不做任何优化,以为开发人员提供强大的应用程序调试能力。Debug模式下生成两个文件,
除了.exe或.dll文件外,还有一个.pdb文件,该文件记录了代码中断点等调试信息

而Release通常称为发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试。
所以不保存调试信息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。Release模式下生成一个文件.exe或.dll文件。

3.argc和argv

其中argc指的参数个数,int型;
argv为字符串数组,指的是参数的指针数组。
一般:
main(int argc, char*argv)
注: 参数设置位置:
项目属性==配置属性==调试==命令参数

原创粉丝点击