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)
注: 参数设置位置:
项目属性==配置属性==调试==命令参数
- C++primer学习-vector中的erase函数
- [C++] Vector 中的基本用法(一)
- C模板实现STL容器中的vector
- C++STL中的vector简要介绍
- C++Vector
- c++vector
- c++:vector
- <C++>vector
- C++vector
- 【c++】【vector】
- C++ vector
- c++: vector
- c ++ vector
- C++vector
- c++:vector
- C++<vector>
- C++Vector
- 【温故而知新】C和C++6:STL中的vector容器
- 2017杭电多校第一场02
- 大数据(四)Hadoop-HDFS zookeeper的安装
- 图论 用prim法求最小生成树
- Nginx开启https访问
- STL学习之十:map和multimap用法示例
- C++中的vector
- java泛型
- Microbiome:宏蛋白质组揭示健康人肠道菌群的功能,离真相更近了一步
- ubuntu命令和vim指令
- Dubbo教程(三)----一个简单的Dubbo示例
- 经典算法KMP
- gradient descent vs (mini-batch) stochastic gradient descent
- luogu1057【2008普及】传球游戏(dp)
- $a = in_array('01', array('1')) == var_dump('01' == 1);$a的值是什么?