开始学习和使用vector了,用到之后再去学似乎神迹的感觉啊,就像跑一下就能给个糖吃哈哈
百度上的六种初始化的方法就不再说了,那些方法都很对。
只是不符合我的用户需求哈哈
首先,头文件
#include<vector>
然后,定义一个vector
vector<int> a;
这里,这个a可以用六种初始化的方法把它初始化了,但是我这里不用。我开始以为一定要初始化来申请内存,后来发现并不用,它在push_back的时候就会申请了。这样
for (int k=0 ; k<10;k++) a.push_back(b[k]);
看别人的代码时候,用a[k] = b[k];类似的方法赋值,但是我这里运行是失败的,到底能不能这样写还不确定。。
遍历是用了它自带的函数
for( vector<int>::iterator iter = a.begin();iter != a.end(); ++iter, ++i )
{
c[i] = *iter;
}
以上,基本用法
附:
#include<iostream>
#include<vector>
int j;
using namespace std;
int main (int argc, char **argv)
{
vector<int> a;
int b[10] = {9};
cout<<"输入数 : "<<endl;
for (int k=0 ; k<10;k++)
a.push_back(b[k]);
int *c=new int[a.size()];
size_t i=0;
for( vector<int>::iterator iter = a.begin();iter != a.end(); ++iter, ++i )
{
c[i] = *iter;
}
for ( j = 0; j < a.size(); ++j)
cout << *(c + j) <<endl;
delete [] c;
return 0;
}
青山不改绿水依旧,下个见
原文:http://www.cnblogs.com/feixiao5566/p/4699759.html