c++ map是有序还是无序的_c++ unorder_map的用法

1、unorder_map与map不同:map的KEY值是有序的,而unorder_map则是无序的;

2、unorder_map自定义的KEY值时需要注意思下面两点:

· KEY为一个类时,需要重载==符号;

· 需要自定义一个HASH类,至于为什么,自己百度找原因

下面贴上unorder_map的两类使用方法

第一种:

#include

#include

using namespace std;

class Node

{

public:

Node();

~Node();

bool operator==(const Node &n) const;

public:

std::string m_strName;

int m_iAge;

};

Node::Node() :m_iAge(0)

{

}

Node::~Node()

{

}

bool Node::operator==(const Node & n) const

{

if (n.m_iAge==m_iAge && m_strName==n.m_strName)

{

return true;

}

return false;

}

template <>

struct hash

{

std::size_t operator()(const Node& k) const

{

using std::size_t;

using std::hash;

using std::string;

// Compute individual hash values for first,

// second and third and combine them using XOR

// and bit shifting:

return ((hash()(k.m_strName))^(hash()(k.m_iAge) << 1));

}

};

int _tmain(int argc, _TCHAR* argv[])

{

std::unordered_map info;

};

第二种:

#include

#include

using namespace std;

class Node

{

public:

Node();

~Node();

bool operator==(const Node &n) const;

public:

std::string m_strName;

int m_iAge;

};

Node::Node() :m_iAge(0)

{

}

Node::~Node()

{

}

bool Node::operator==(const Node & n) const

{

if (n.m_iAge==m_iAge && m_strName==n.m_strName)

{

return true;

}

return false;

}

struct KeyHasher

{

std::size_t operator()(const Node& k) const

{

using std::size_t;

using std::hash;

using std::string;

return ((hash()(k.m_strName)) ^ (hash()(k.m_iAge) << 1));

}

};

int _tmain(int argc, _TCHAR* argv[])

{

std::unordered_map info;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244915.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pid调节软件_非常实用的PID算法和PID控制原理

点击箭头处“工业之家”&#xff0c;选择“关注公众号”&#xff01;PID控制原理和特点工程实际中&#xff0c;应用最为广泛调节器控制规律为比例、积分、微分控制&#xff0c;简称PID控制&#xff0c;又称PID调节。PID控制器问世至今已有近70年历史&#xff0c;它以其结构简单…

c语言的有趣小程序,一个有趣的小程序

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼源码:#include #include #include #include #include HINSTANCE g_hInstance 0;LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPreInstance,LPSTR lpCmdLine,int nSh…

对pca降维后的手写体数字图片数据分类_【AI白身境】深度学习中的数据可视化...

今天是新专栏《AI白身境》的第八篇&#xff0c;所谓白身&#xff0c;就是什么都不会&#xff0c;还没有进入角色。上一节我们已经讲述了如何用爬虫爬取数据&#xff0c;那爬取完数据之后就应该是进行处理了&#xff0c;一个很常用的手段是数据可视化。通过数据可视化&#xff0…

android实现箭头流程列表_反思|Android 列表分页组件Paging的设计与实现:系统概述...

作者&#xff1a;却把清梅嗅链接&#xff1a;https://github.com/qingmei2/blogs/issues/30前言本文将对Paging分页组件的设计和实现进行一个系统整体的概述&#xff0c;强烈建议 读者将本文作为学习Paging 阅读优先级最高的文章&#xff0c;所有其它的Paging中文博客阅读优先级…

Android自动伸展动画,android – 如何实现平滑的展开/折叠动画

我指的是在这里找到的扩展/折叠动画代码.虽然这样做不好,动画不顺利.我做一些登录代码.public static void expand(final View v) {v.measure(MeasureSpec.makeMeasureSpec(((View)v.getParent()).getWidth(), MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(1024, Measur…

sql server numeric 可存几位小数_想成为优秀SQL高手?你就差这些细节

标准结构化查询语言(Structured Query Language)简称SQL&#xff0c;sql是我们日常工作中使用最多一项技能&#xff0c;写sql可以说是一个可以干到退休的技能。看似简单&#xff0c;但要精通却很难。 sql包括增、删、改、查&#xff0c;创建表、删除表、修改表等等内容&#xf…

华为云空间兑换码在哪里找_华为云空间在哪里找到

大家好&#xff0c;我是时间财富网智能客服时间君&#xff0c;上述问题将由我为大家进行解答。华为云空间可以在文件管理中找到&#xff0c;具体的操作步骤如下&#xff1a;1、这里以华为p10 plus手机为例&#xff0c;先打开手机上的【实用工具】。2、进入到手机的实用工具以后…

android webview全屏时自动切换横屏,Android强制横屏+全屏的几种常用方法

CLR via C&num;深解笔记二 - 类型设计类型基础 所有类型都从System.Object派生 CLR要求所有对象都用new 操作符来创建. Employee e new Employee("Constructor Para ...vim常用命令笔记(转载)添加多行注释: 1. 首先按esc进入命令行模式下,按下Ctrl v,进入列(也叫…

java random产生随机数_java的三种随机数生成方式,必掌握

随机数的产生在一些代码中很常用&#xff0c;也是我们必须要掌握的。而java中产生随机数的方法主要有三种&#xff1a;第一种&#xff1a;new Random()第二种&#xff1a;Math.random()第三种&#xff1a;currentTimeMillis()第一种需要借助java.util.Random类来产生一个随机数…

android n-ify miui,MIUI7.5版刷机包

MIUI7.5先行版给你带来跟多的天气信息和资讯&#xff0c;小米MIUI8的正式版虽然还没有推出&#xff0c;如空气质量&#xff0c;所以在Android N-ify模块下有点显示问题。MIUI7.5版刷机包小米miui7.5刷机方法下载Miflash线刷工具&#xff0c;双击进行安装&#xff0c;安装期间如…

python代码书写_Python代码的优雅写法,让代码更简洁

我们都知道&#xff0c;Python 的设计哲学是「优雅」、「明确」、「简单」。这也许很多人选择 Python 的原因。但是我收到有些伙伴反馈&#xff0c;他写的 Python 并不优雅&#xff0c;甚至很臃肿&#xff0c;那可能是你的姿势不对哦&#xff01;今天就给大家带来 Python 语句的…

C 怎么处理windows路径_python学习笔记-7:文件读写之文件与文件路径

文件关键属性:路径文件名根据已知的文件路径生成包含正确路径分隔符的文件路径字符串&#xff1a;import osstt os.path.join(usr,bin,spam)print(stt)#usrbinspamwindows的路径分隔符为&#xff0c;字符串中使用需要转义字符&#xff0c;因此应输入为当前工作目录程序运行时&…

android手机图标 足球球星,世界足坛九大现役球星标志性绰号,第一名所有人都服!...

原标题&#xff1a;世界足坛九大现役球星标志性绰号&#xff0c;第一名所有人都服&#xff01;9&#xff0c;“大腿”桑切斯自打智利天王桑切斯离开当年无比辉煌的巴萨加盟阿森纳后&#xff0c;就被无数球迷冠以“大腿”的绰号&#xff0c;当然这完全源自于他在英超阿森纳队中极…

mysql 互为主备 宕机 数据丢失_Devops部署-mysql主备多从搭建

​双主多从架构原理介绍IP端口账号密码服务名10.1.1.23306root/syncabc123!数据库A10.1.1.33306root/syncabc123!数据库B10.1.1.43306root/syncabc123!数据库C1.两台mysql都可读写&#xff0c;互为主备&#xff0c;默认只使用一台&#xff08;masterA&#xff09;负责数据的写入…

sourcetree mac 免登录_「vscode remote ssh 免登录」mac

如果你只知道传统的ssh操作&#xff0c;或者sftp/ftp上传下载操作&#xff0c;那可能有点太low了。强烈推荐你使用 vscode remote ssh。举个栗子来形象比喻一下&#xff1a;钥匙开门 和 指纹开门 的区别。已经用 vscode remote ssh 功能有很久了&#xff0c;这种体验真的太棒了…

signature=9e6873686326b073f8f457fa0e6c2f70,Signature required

摘要&#xff1a;Model comprehension and effective use and reuse of complex subsystems are problems currently encountered in the automotive industry. To address these problems we present a technique for extracting, presenting, and making use of signatures f…

python中汉字与变量不可同时出现_Python语言应用培训课(选择练习)

第一部分1、多选题&#xff1a;Python在金融中的运用包括( )选项&#xff1a;A:绩效分析B:风险分析C:程序化交易D:量化分析答案: 【绩效分析;风险分析;程序化交易;量化分析】第二部分1、判断题&#xff1a;python语言支持中文字符作为变量名称&#xff0c;但具有语法意义的符号…

python find函数 和index的区别_find方法和index方法的区别

Python find()&#xff1a; find 方法检测字符串中是否包含子字符串 str &#xff0c;如果指定 beg&#xff08;开始&#xff09; 和 end&#xff08;结束&#xff09; 范围&#xff0c;则检查是否包含在指定范围内&#xff0c;如果包含子字符串返回开始的索引值&#xff0c;否…

html5图像映射坐标怎么看,如何将AxesImage中的坐标映射到已保存图像文件中的坐标?...

这是尝试从matplotlib获取精确像素值的更令人困惑的部分之一. Matplotlib将绘制精确像素值的渲染器与绘制图形和轴的画布分开.基本上,最初创建(但尚未显示)图形时存在的渲染器不一定与显示图形或将其保存到文件时使用的渲染器相同.你正在做的是正确的,但是它使用的是初始渲染器…

vue获取元素距离页面顶部的距离_VUE实时监听元素距离顶部高度的操作

效果图如下所示.html今日热门今日热销.jsmounted(){window.addEventListener(scroll,this.handleScrollx,true)},methods: {handleScrollx() {console.log(滚动高度,window.pageYOffset)console.log(距离顶部高度,this.$refs.pronbit.getBoundingClientRect().top)},}补充知识&…