为什么这个multimap不能insert进元素

 我来答
huanglenzhi
2015-01-04 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517200
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
  make_pair是一个模板函数,返回一个pair对象,代码:

  template<class _Ty1,
  class _Ty2> inline
  pair<_Ty1, _Ty2> make_pair(_Ty1 _Val1, _Ty2 _Val2)
  { // return pair composed from arguments
  return (pair<_Ty1, _Ty2>(_Val1, _Val2));
  }

  而pair是一个模板结构体,加上模板参数才能成为一个具体的类型,所以要用pair<int, string>,下面是pair的定义:

  

  template<class _Ty1,
  class _Ty2>
  struct pair
  { // store a pair of values
  typedef pair<_Ty1, _Ty2> _Myt;
  typedef _Ty1 first_type;
  typedef _Ty2 second_type;

  pair()
  : first(_Ty1()), second(_Ty2())
  { // construct from defaults
  }

  pair(const _Ty1& _Val1, const _Ty2& _Val2)
  : first(_Val1), second(_Val2)
  { // construct from specified values
  }

  template<class _Other1,
  class _Other2>
  pair(const pair<_Other1, _Other2>& _Right)
  : first(_Right.first), second(_Right.second)
  { // construct from compatible pair
  }

  void swap(_Myt& _Right)
  { // exchange contents with _Right
  if (this != &_Right)
  { // different, worth swapping
  _STD _Swap_adl(first, _Right.first);
  _STD _Swap_adl(second, _Right.second);
  }
  }

  _Ty1 first; // the first stored value
  _Ty2 second; // the second stored value
  };

  // pair TEMPLATE FUNCTIONS
  template<class _Ty1,
  class _Ty2> inline
  void swap(pair<_Ty1, _Ty2>& _Left, pair<_Ty1, _Ty2>& _Right)
  { // swap _Left and _Right pairs
  _Left.swap(_Right);
  }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式