| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1810 人关注过本帖
标题:map映射容器的insert函数的参数不对啊~~~~~~~~~~
只看楼主 加入收藏
okokpypy
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2017-6-1
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:6 
map映射容器的insert函数的参数不对啊~~~~~~~~~~
pair<iterator, bool> insert (const pair<KEY_TYPE, VALUE_TYPE> & val);
//pair<KEY_TYPE, VALUE_TYPE>类型是一个具体化为KEY_TYPE型 和 VALUE_TYPE型的pair类对象,
VALUE_TYPE型是pair<const Key, Type>的类型别名,是具体化为const Key型 和 Type型的pair类对象
为什么实际使用是后者?即insert(VALUE_TYPE & val);
搜索更多相关主题的帖子: map insert 函数 参数 const 
2017-08-06 21:42
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:10 
听不懂你在说什么,以下代码是从C++标准文档中摘出来的

template< class Key, class T, class Compare=less<Key>, class Allocator=allocator<pair<const Key,T>> >
class map
{
public:
    …………
    using value_type = pair<const Key, T>;
    …………
    pair<iterator, bool> insert(const value_type& x);
    …………
};
2017-08-07 08:24
okokpypy
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2017-6-1
收藏
得分:0 
回复 2楼 rjsp
insert的语法格式不是这个?
pair<iterator, bool> insert (const pair<KEY_TYPE, VALUE_TYPE> & val);
2017-08-07 09:27
okokpypy
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2017-6-1
收藏
得分:0 
回复 3楼 okokpypy
按照你给出的代码应该是这个:
pair<iterator, bool> insert (const pair<const key, T> & val);
那么第一个具体化参数const key就等于KEY_TYPE,
第二个具体化参数T就等于VALUE_TYPE,但是T可以是任意类型,而VALUE_TYPE只能是pair类的对象,不可能一样啊
2017-08-07 09:39
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:0 
以下是引用okokpypy在2017-8-7 09:39:56的发言:

第二个具体化参数T就等于VALUE_TYPE,但是T可以是任意类型,而VALUE_TYPE只能是pair类的对象,不可能一样啊

不知道你在说什么,VALUE_TYPE 哪里来的,是个什么东西?
既然在说C++,那就得以ISO的“C++标准文档”为依据。
2017-08-07 11:45
okokpypy
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2017-6-1
收藏
得分:0 
回复 5楼 rjsp
总之,按照c++标准文档,insert语法是:
pair<iterator, bool> insert (const pair<const key, T> & val);
对吧?
1楼的语法是书上写的,估计是错的~
2017-08-07 12:33
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:0 
按照c++标准文档,insert语法是:
pair<iterator, bool> insert (const pair<const key, T>& val);
对吧?
------ 对
2017-08-07 16:09
快速回复:map映射容器的insert函数的参数不对啊~~~~~~~~~~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026183 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved