初次接触vector

vector:向量类,实现了动态的数组,用于元素数量变化的对象数组

void push_back(const T& x):向量尾部增加一个元素

iterator erase(iterator it) :删除向量中的某一个元素

void pop_back() 删除向量中最后一个元素

void clear() 删除向量中所有元素

reference at(int pos):返回pos位置元素的应用

reference front():返回首元素的引用

reference back();返回尾元素的引用

iterator begin():返回向量头指针,指向第一个元素

iterator end():返回向量尾指针,不包括最后一个元素,在其下面

bool empty() const  向量是否为空,若true ,则向量中无元素

int size() const 返回向量中元素的个数

 

#include<vector>

#include<iostream>

using namespace std;

class A {

public:  int n;

 A(int n)  {   this->n=n;  }

};

int main(int argc,char argv[]) {

 cout<<"向量"<<endl;

 vector<A>ca_vec;           //类A的向量定义

 A a1(1);

 A a2(2);  

ca_vec.push_back(a1);      //添加类A的向量元素

 ca_vec.push_back(a2);

 int nSize=ca_vec.size();  

cout<<"通过数组输出:";

 for(int i=0;i<nSize;i++)   cout<<ca_vec[i].n<<"\t";  

   cout<<endl;   

cout<<"通过引用输出:";

 for(int i=0;i<nSize;i++)  {

  A& a=ca_vec.at(i);     //引用向量中的第i个元素

  cout<<a.n<<"\t";

 }

 cout<<endl;

 cout<<"通过迭代器输出:";

 vector<A>::iterator ca_vec_iter=ca_vec.begin();

 while(ca_vec_iter!=ca_vec.end())  {

  //cout<<ca_vec_iter->n<<"\t";  

 cout<<(*ca_vec_iter).n<<"\t";   //这与上面一行是等价的  

 ca_vec_iter++;

 }  

cout<<endl;

}

 

posted @ 2014-03-26 20:22  zhoudan  阅读(124)  评论(0)    收藏  举报