#include<iostream>
#include<string>
#include<map>
using namespace std;
int main()
{
map<string,int> m1;
pair<string,int> p1("Hello",5),p2("Java",10),p3("World",35);
m1.insert(p1);
m1.insert(p2);
m1.insert(p3);
return 0;
}
请问:1.在定义pair对象时,要不要这样写:pair<const string,int> p1,这个const要不要写??
2.给map对象添加元素不需要用迭代器指定在哪个位置insert吗??这样写:
m1.insert(p1);对吗??谢谢!!
关于map容器添加元素!!
答案:2 悬赏:20 手机版
解决时间 2021-02-18 20:27
- 提问者网友:溺爱和你
- 2021-02-17 20:22
最佳答案
- 五星知识达人网友:有你哪都是故乡
- 2021-02-17 20:43
pair声明时要用到 pair的构造函数
正确声明应该是:pair<string, int> p1= pair<string,int>("Hello",5);
或者 用pair自带的辅助函数 make_pair(): pair<string, int> p1= make_pair("Hello",5);
如果你想确定 key值不被改变 我想用const 应该是可以的。
map的元素位置是按key值自动排列的 默认情况下,使用按升序排列,但可以加入一个谓词
map<键类型,数据类型,谓词(可选 默认为 less<key>)>
m1.insert(p1); 是正确写法。
正确声明应该是:pair<string, int> p1= pair<string,int>("Hello",5);
或者 用pair自带的辅助函数 make_pair(): pair<string, int> p1= make_pair("Hello",5);
如果你想确定 key值不被改变 我想用const 应该是可以的。
map的元素位置是按key值自动排列的 默认情况下,使用按升序排列,但可以加入一个谓词
map<键类型,数据类型,谓词(可选 默认为 less<key>)>
m1.insert(p1); 是正确写法。
全部回答
- 1楼网友:大漠
- 2021-02-17 21:28
pair声明时要用到 pair的构造函数
正确声明应该是:pair<string, int> p1= pair<string,int>("hello",5);
或者 用pair自带的辅助函数 make_pair(): pair<string, int> p1= make_pair("hello",5);
如果你想确定 key值不被改变 我想用const 应该是可以的。
map的元素位置是按key值自动排列的 默认情况下,使用按升序排列,但可以加入一个谓词
map<键类型,数据类型,谓词(可选 默认为 less<key>)>
m1.insert(p1); 是正确写法。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯