c++ stl map-C++ map 关键字的问题

问题描述

C++ map 关键字的问题
std::map < type_1type_2 > data;
type_1有什么要求?
为什么我自定义了一个类,重载了<操作符编译时没有错误,运行去出错了。
出错代码如下;

std::vector > record_number;
//
std::vector arr = record_number[input_po];
if (arr.size() > 4) {
return;
}
else {
arr.push_back(number[0] - '0');
record_number[input_po] = arr; //运行到这行出错
}

Position 定义如下
class Position{
public:
int x;
int y;
Position(int a int b):x(a)y(b){}
Position():x(1)y(1){}
bool operator <(const Position & po) const
{
if (x < po.x) {
return true;
}
else if (x == po.x) {
if (y < po.y) {
return false;
}
}else {
return false;
}
}
};

解决方案

是不是索引有问题,查看一下具体错误信息

时间: 2024-11-01 16:43:02

c++ stl map-C++ map 关键字的问题的相关文章

浅谈c++中的stl中的map用法详解_C 语言

Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道.这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处. 下面举例说明什么是一对一的数据映射.比如一个班级中,每个学生的学号跟他的姓名就存在着一一

浅析stl序列容器(map和set)的仿函数排序_C 语言

问题:set是一个自动有序的集合容器,这是set的一个最实惠的性质,从小到大,只要你插入进去,就有序了.但是,如果你不想要这个顺序呢,是不是可以人为控制set容器的元素顺序呢?答案是,可以的,因为stl也是程序员设计的. 首先看stl的模板构造函数 复制代码 代码如下: explicit set ( const Compare& comp = Compare(), const Allocator& = Allocator() );templateset ( InputIterator fi

STL之六:map/multimap用法详解

map/multimap     使用map/multimap之前要加入头文件#include<map>,map和multimap将key/value当作元素,进行管理.它们可根据key的排序准则自动将元素排序.multimap允许重复元素,map不允许重复元素. map和multimap内部的数据结构也是平衡二叉树.     map和multimap根据元素的key自动对元素进行排序,要修改元素的key必须先删除拥有该key的元素,然后插入拥有新的key/value的元素. 常用函数 1.构

stl容器set,map,vector之erase用法与返回值详细解析_C 语言

总结本人在工作中经验教训. 在使用 list.set 或 map遍历删除某些元素时可以这样使用: 正确使用方法1 复制代码 代码如下:       std::list< int> List;      std::list< int>::iterator itList;      for( itList = List.begin(); itList != List.end(); )      {            if( WillDelete( *itList) )       

Nginx模块参考手册:Map模块(Map)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除. 这个模块允许你分类或者同时映射多个值到多个不同值并储存到一个变量中,map指令用来创建变量,但是仅在变量被接受的时候执行视图映射操作,对于处理没有引用变量的请求,这个模块并没有性能上的缺失. 如下例: map $http_host $name { hostnames; default 0; example.com 1; *.example.com 1; test.com 2; *.test.com 2; .si

向DWR传递map/返回map等对象

1.调用没有返回值和参数的JAVA方法1.1.dwr.xml的配置 <dwr><allow><create creator="new" javascript="testClass" ><param name="class" value="com.dwr.TestClass" /><include method="testMethod1"/><

Google map ,Baidu map 开发的优缺点 比较

问题描述 现在搞GIS的,大多都转到GOOLGEMAPAPI,BAIDUMAPAPI开发上了,,进入了WEB版地图的行列.对于BAIDU地图,GOOLGEMAP,希望大家能讨论下自己的高见,也可以附使用技巧 解决方案 解决方案二: 解决方案三:gis板块都没人的吗解决方案四:感觉这是一种趋势,在大家都在走云服务路线的时候,地图服务具备了前置条件,作为多年做GIS应用,我顶解决方案五:你们用BAIDU地图,GOOGLE地图解决位置偏移吗?我有BAIDU纠偏库,GOOGLE纠偏库呀,本地纠偏,速度飞

STL中map用法详解

std map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道.这里说下std map内部数据的组织,std map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在std map内部所有的数据都是有序的,后边我们会见识到有序的好处. 下面举例说明什么是一对一的数据映射.比如一个班级中,每个

STL之Map

概述 Map是标准关联式容器(associative container)之一,一个map是一个键值对序列,即(key ,value)对.它提供基于key的快速检索能力,在一个map中key值是唯一的.map提供双向迭代器,即有从前往后的(iterator),也有从后往前的(reverse_iterator). map要求能对key进行<操作,且保持按key值递增有序,因此map上的迭代器也是递增有序的.如果对于元素并不需要保持有序,可以使用hash_map. map中key值是唯一的,如果马匹

stl map 下标-STL容器map 下标访问的问题

问题描述 STL容器map 下标访问的问题 STL容器map 下标访问的问题定义了如下的一个map 容器 Key 是int values 是一个结构体typedef struct _prostru{ int jmqnum; int bncnun; _prostru() { jmqnum=-1; bncnun=-1; }}PROSTRU; map m_pro; m_pro[1].jmqnum=5;m_pro[2].bncnum=2; 在进程中 可以用下标访问和修改 结构体中的值线程传入后 是个指针