#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=幂幂。

发表回复