大挪耗

c++基于范围的for循环

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


已发布

分类

可以收藏大挪耗一下。下载麻烦点城通网盘,站长保证下载速度,不会限速的,放心点就是了;分卷,安卓下载为txt:程序下载为url,不会下载参考不会下载。如果你想让本站活的久一点,请直接捐助

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注