#include "iostream"
#include "vector"
using namespace std;
class AA
{
public:
string m_name;
AA(){cout<<"默认构造函数AA()。\n";}
AA(const string& name):m_name(name){cout<<"构造函数,name="<<m_name<<endl;}
AA(const AA& a):m_name(a.m_name){cout<<"拷贝构造函数,name="<<m_name<<endl;}
AA& operator=(const AA& a){m_name=a.m_name;cout<<"赋值函数,m_name="<<m_name<<"。\n";}
~AA(){cout<<"析构函数,name="<<m_name<<"。\n";}
};
int main()
{
vector<int>vv={1,2,3,4,5,6,7,8,9,10};
for (auto it=vv.begin();it !=vv.end();it++) {//用迭代器遍历容器vv
cout<<*it<<" ";
}
cout<<endl;
for (int val:vv)//用基于范围的for循环遍历容器vv
{
cout<<val<<" ";
}
cout<<endl;
vector<AA> v;
cout<<"0000,v.capacity()="<<v.capacity()<<"\n";
v.emplace_back("西施");
cout<<"1111,v.capacity()="<<v.capacity()<<"\n";
v.emplace_back("冰冰");
cout<<"2222,v.capacity()="<<v.capacity()<<"\n";
v.emplace_back("幂幂");
cout<<"3333,v.capacity()="<<v.capacity()<<"\n";
for (auto a: v) {
cout<<a.m_name<<" ";
cout<<endl;
}
}
输出:
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
0000,v.capacity()=0
构造函数,name=西施
1111,v.capacity()=1
构造函数,name=冰冰
拷贝构造函数,name=西施
析构函数,name=西施。
2222,v.capacity()=2
构造函数,name=幂幂
拷贝构造函数,name=西施
拷贝构造函数,name=冰冰
析构函数,name=西施。
析构函数,name=冰冰。
3333,v.capacity()=4
拷贝构造函数,name=西施
西施
析构函数,name=西施。
拷贝构造函数,name=冰冰
冰冰
析构函数,name=冰冰。
拷贝构造函数,name=幂幂
幂幂
析构函数,name=幂幂。
析构函数,name=西施。
析构函数,name=冰冰。
析构函数,name=幂幂。
发表回复