当前位置:  编程技术>c/c++/嵌入式

map插入自定义对象总结

    来源: 互联网  发布时间:2014-10-19

    本文导语:  难道插入map还有什么讲究吗?我们且看map在STL中的定义方法:template 第一个参数Key是关键字类型第二个参数T是值类型第三个参数Compare是比较函数(仿函数)第四个参数是内存配置对象 map内部存储机制实际是以红黑树为基础,...

难道插入map还有什么讲究吗?我们且看map在STL中的定义方法:
template
第一个参数Key是关键字类型
第二个参数T是值类型
第三个参数Compare是比较函数(仿函数)
第四个参数是内存配置对象

map内部存储机制实际是以红黑树为基础,红黑树在插入节点时,必须依照大小比对之后在一个合适的位置上执行插入动作。所以作为关键字,起码必须有“first.second, it->second);

    return 0;
}


以结构体或类为关键字插入map
代码如下:

#include

struct st
{
       int a, b;

       st():a(0), b(0){}
       st(int x, int y):a(x), b(y){}
};

int main()
{
       std::map res;
       res.insert(std::make_pair(st(1,2), 12));
       res.insert(std::make_pair(st(30,4), 34));
       res.insert(std::make_pair(st(5,6), 56));

       std::map::iterator it = res.find(st(30,4));

       if (it == res.end())
              printf("NULL"n");
       else
              printf("first:%d second:%d %d"n", it->first.a, it->first.b, it->second);

       return 0;
}

编译这个程序也是错误的,错误意思大概也是没有定义“a < rs.a || (this->a == rs.a && this->b < rs.b));}
};


按照这个改动再次编译程序还是错误,有个如下这样的提示:
/usr/include/c++/3.2.3/bits/stl_function.h:197: passing `const st' as `this' argument of `bool st::operator

    
 
 

您可能感兴趣的文章:

  • C++ Maps 成员 insert():插入元素
  • Linux c++库boost unordered_map数据插入及查找代码举例
  • c++ STL关联式容器Map成员函数介绍及查找(find()),插入(insert()),删除(erase())等操作代码举例
  • java命名空间java.util.jar类attributes的类成员方法: map定义及介绍
  • ‘MAP_SHARED’ 未定义?
  • java命名空间javax.swing.text.html类html.tag的类成员方法: map定义及介绍
  • 请问有关MAP,SET,LIST的定义,特性,要考scjp拉,书上又不清楚
  • java命名空间java.util接口map<k,v>的类成员方法: isempty定义及介绍
  • java命名空间java.util接口map<k,v>的类成员方法: clear定义及介绍
  • java命名空间java.util接口map<k,v>的类成员方法: size定义及介绍
  • java命名空间java.util接口map.entry<k,v>的类成员方法: getkey定义及介绍
  • java命名空间java.util接口map<k,v>的类成员方法: hashcode定义及介绍
  • java命名空间java.util接口map.entry<k,v>的类成员方法: getvalue定义及介绍
  • java命名空间java.util接口map<k,v>的类成员方法: entryset定义及介绍
  • java命名空间java.util接口map<k,v>的类成员方法: containsvalue定义及介绍
  • java命名空间java.util接口map<k,v>的类成员方法: equals定义及介绍
  • java命名空间java.util接口map<k,v>的类成员方法: keyset定义及介绍
  • java命名空间java.util接口map<k,v>的类成员方法: values定义及介绍
  • java命名空间java.util接口map<k,v>的类成员方法: putall定义及介绍
  • java命名空间java.util接口map<k,v>的类成员方法: containskey定义及介绍
  • java命名空间java.util接口map.entry<k,v>的类成员方法: equals定义及介绍
  • java命名空间java.util接口map.entry<k,v>的类成员方法: hashcode定义及介绍
  • java命名空间java.util接口map.entry<k,v>的类成员方法: setvalue定义及介绍
  • java命名空间java.util类collections的类成员方法: empty_map定义及介绍
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 将ResultSet结果集中的记录映射到Map对象中
  • C++ Maps 成员 swap():交换两个map
  • 请问LINUX下有没有跟在windows下一样的hash_map使用?比如VS2005下有微软实现的hash_map.
  • C++ Maps 成员 end():返回指向map末尾的迭代器
  • java集合map取key使用示例 java遍历map
  • C++ Maps 成员 rend():返回一个指向map头部的逆向迭代器
  • 请问,system.map有用吗?
  • C++ Maps 成员 get_allocator():返回map的配置器
  • NOSQL iis7站长之家
  • C++ Maps 成员 rbegin():返回一个指向map尾部的逆向迭代器
  • Java用for循环Map详细解析
  • C++ Maps 成员 size():返回map中元素的个数
  • 请问哪个方法可以检查Map中有某个键存在?
  • C++ Maps 成员 empty():如果map为空则返回true
  • linux中如何用shmget在共享内存中分配一个Map类型的空间?
  • C++ Maps 成员 begin():返回指向map头部的迭代器
  • Google Maps Navigation
  • C++ Maps 成员 find():查找一个元素
  • jQuery Google Maps
  • C++ Maps 成员 clear():删除所有元素
  • Google 地图 API Google Map
  • C++ Maps 成员 count():返回指定元素出现的次数
  • system.map文件的作用和理解


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3