初次接触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;
}
浙公网安备 33010602011771号