大挪耗

c++map容器

#include "iostream"
#include "map"

using namespace std;

class CGirl
{
public:
    string m_name;//超女年龄。
    int m_age;//超女年龄。

    CGirl(const string name,const int age):m_name(name),m_age(age)
    {
        cout<<"两个参数的构造函数。\n";
    }
    CGirl(const CGirl& g):m_name(g.m_name),m_age(g.m_age)
    {
        cout<<"拷贝构造函数。\n";
    }
};

int main()
{
    //1) map();//创建一个map容器。
    map<int,string>m1;

    //2)map(initializar_list<pair<K,V>>il)//使用统一初始化列表。
    map<int,string> m2({{8,"冰冰"},{3,""},{1,"幂幂"},{7,"金莲"},{5,"西瓜"}});

    for (auto &val:m2) {
        cout<<val.first<<";"<<val.second<<" ";
    }
    cout<<endl;

    map<string,string>m({{"08","冰冰"},{"03","西施"},{"01","幂幂"},{"07","金莲"},{"05","西瓜"}});

    cout<<"m[08]="<<m["08"]<<endl;//显示key为08的元素的value
    cout<<"m[09]="<<m["09"]<<endl;//显示key为09的元素的value,key为09的元素不存在,将添加新的节点
    m["07"]="花花";//把key为07的value修改为花花。
    m["12"]="小乔";//将添加新的键值对。
    for (auto &val:m) {
        cout<<val.first<<","<<val.second<<" ";
        cout<<endl;
    }

    map<int,string>mm;
    mm.insert({{8,"冰冰"},{3,"西施"}});
    mm.insert({pair<int,string>( 1,"幂幂"), make_pair(7,"金莲"),{5,"西瓜"}});

    auto ret1=mm.insert(pair<int,string>(18,"花花"));
    if(ret1.second==true)cout<<"插入成功!"<<endl<<"l"<<ret1.first->second<<endl;
    else cout<<"插入失败\n";

    //void insert(iterator first,iterator);//用迭代器插入一个区间的元素

    if (ret1.second==true) cout<<"插入成功: <<"<<ret1.first->first <<","<<ret1.first->first<<endl;
    else cout<<"插入失败。\n";
    //4)<iterator,bool>emplace(...);
    //将创建新键值对所需的数据作为参数传入,map容器将直接构造元素。
    //返回值pair:first是插入元素的得带器,second是插入结果。
    for(auto &val:m)
        cout<<val.first<<","<<val.second<<" ";
    cout<<endl;

    map<int,CGirl>mmm;
    mmm.emplace(piecewise_construct, forward_as_tuple(8), forward_as_tuple("冰冰",18));//一次构造函数
    for (const auto &val:mmm) {
        cout<<val.first<<";"<<val.second.m_name<<val.second.m_name<<" ";
    }
    cout<<endl;

    return 0;


}

输出:

1;幂幂 3; 5;西瓜 7;金莲 8;冰冰
m[08]=冰冰
m[09]=
01,幂幂
03,西施
05,西瓜
07,花花
08,冰冰
09,
12,小乔
插入成功!
l花花
插入成功: <<18,18
01,幂幂 03,西施 05,西瓜 07,花花 08,冰冰 09, 12,小乔
两个参数的构造函数。
8;冰冰冰冰


已发布

分类

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

发表回复

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