腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(1215)
视频
沙龙
2
回答
C++
std
::
unordered_map
仅在
新元素
不存在
时
插入
新元素
的
最快
方法
c++
、
performance
、
c++20
我收到了很多 s,所以我只想在映射中
插入
它们,如果它们还
不存在
的话(很多时候它们已经存在了,因为我正在监听多个来源)。 性能很重要,因为我收到了数百万美元。似乎有几种
方法
可以做到这一点: map[key] = largeObject; 或者: map.insert(
std
::make_pair(key, largeObject); 或者: if(map.count;if(iter == map.end()) map[key] = largeOb
浏览 137
提问于2021-02-18
得票数 2
回答已采纳
1
回答
++map[element]定义得很好吗?
c++
、
unordered-map
、
c++-standard-library
关联容器中
的
方括号运算符( map,无序映射)如果
不存在
,将在映射中
插入
元素。如果映射
的
值是整数,如调用预增量操作符是否定义良好,即使在这种情况下,[]会触发
新元素
的
插入
我怀疑它应该是可以
的
,因为在有序和无序
的
映射中,
浏览 4
提问于2021-12-23
得票数 -1
2
回答
在无序映射/无序集中
插入
/放置
新元素
时
的
提示
c++
、
c++11
、
unordered-map
、
unordered-set
如果我要在
std
::
unordered_map
中
插入
一个
新元素
(密钥
不存在
),那么我可以使用emplace_hint来提高性能吗?这个提示应该有什么价值呢?我经常知道,键值(整型)比映射中
的
所有键都大。那么,我应该使用cend作为提示吗?
浏览 0
提问于2019-05-10
得票数 3
回答已采纳
1
回答
避免使用
std
::
unordered_map
(和其他)进行双重搜索或非必要
的
构造
c++
、
c++14
我希望在
std
::
unordered_map
上找到一个带有键
的
元素,或者如果它还
不存在
的话
插入
它。来自 如果容器中没有带键
的
元素,则将一个
新元素
插入
到用给定
的
args构造
的
容器中。 ..。返回由迭代器组成
的
一对
插入
元素,如果没有
插入
,则返回已经存在
的
元素
浏览 0
提问于2019-05-29
得票数 5
回答已采纳
1
回答
C++
:在构造过程中,如何将键和值传递给构造函数以生成映射而不复制映射
的
值?
c++
、
copy
、
copy-constructor
、
move-semantics
下面是一个最小
的
示例,其中类型为WrapMap
的
对象包含
unordered_map
。映射中唯一会改变
的
是值,而不是长度,而不是键。#include <
unordered_map
> int x; MyStruct::
unordered_map
<<em
浏览 5
提问于2020-10-20
得票数 1
回答已采纳
1
回答
C++
-
unordered_map
运算符[],意外行为
c++
、
loops
、
unordered-map
这是我正在编写
的
一个简单
的
脚本,但我不明白为什么它
的
行为出乎意料。基本上,我有一个带有重复项
的
整数数组,我想存储元素在数组中发生
的
次数以及元素在
unordered_map
中
的
值,根据
c++
文档,如果运
浏览 1
提问于2020-04-01
得票数 2
回答已采纳
1
回答
插入
unordered_map
时
无匹配函数
c++
、
boost
、
hash
、
unordered-map
我声明一个
unordered_map
如下:然后在其中
插入
一个元素(在键
不存在
的
情况下,此映射将返回
新元素
的
引用)但我得到了一个错误消息: ..boost&
浏览 1
提问于2013-01-09
得票数 4
1
回答
移动构造函数行为
c++
、
move-constructor
最近,我从move构造器中偶然发现了一些奇怪
的
行为(在我看来很奇怪)。使用GCC和Visual编译
时
,结果是不同
的
。我想听听对这种行为
的
解释,不要认为这是一个错误,但可能是编译器特定
的
。考虑以下代码:#include <
unordered_map
> {
std</e
浏览 0
提问于2018-12-15
得票数 7
回答已采纳
2
回答
unordered_map
of boost::不可复制不能从operator[]返回引用
c++
、
boost
::noncopyable { }; { auto & element = m[0];
std
::
unordered_map
的
操作符[]在提供
的
键处返回对元素
的
引用,乍一看,它看起来应该能工作--我已经请求了对元素
的
引用,而不是它
的
副本。我对这个问题
的
理解是这样
的
(这可能是错误<
浏览 0
提问于2012-12-22
得票数 8
回答已采纳
1
回答
为什么迭代无序
的
::map和添加
新元素
不会导致无限循环?
c++
、
stl
、
iterator
、
unordered-map
我正在迭代一个
std
::
unordered_map
mp[0] = 'a'; for();it++) cout<<it->second<<" "; }a 现在,当在每次迭代结束
时
添加一个
新元
浏览 3
提问于2020-08-15
得票数 0
回答已采纳
3
回答
std
::
unordered_map
::insert vs
std
::
unordered_map
::operator[]
c++
、
methods
、
std
我有一个
unordered_map
类型
的
容器,如果我想要向地图中添加一个元素,我需要确认应该使用哪个版本。如果它存在,我希望它用新
的
值覆盖旧
的
值,如果
不存在
的话,只添加它。我看到insert在退出
时
添加元素,并返回一对迭代器和bool,其中bool指示
插入
是否成功。我还看到,如果元素
不存在
,operator[]会添加该元素,如果它存在,则会覆盖它。我
的
问题基本上是,我是否应该为此目的使用operator[],或者有什么问题我还没有考虑
浏览 0
提问于2018-10-01
得票数 1
回答已采纳
1
回答
在[]运算符
的
情况下,为
unordered_map
中
的
元素设置默认构造函数
c++
、
c++11
、
unordered-map
public: 现在我已经创建了一个以a int值作为键
的
unordered_map
std
::
unordered_map
<int, test_t> map;现在可
浏览 4
提问于2019-10-20
得票数 0
回答已采纳
2
回答
用hashmap代替邻接矩阵实现maxflow算法
c++
、
algorithm
、
hashmap
我试图通过使用哈希图而不是邻接矩阵来表示图来节省一些空间,我使用邻接矩阵运行了相同
的
代码片段,一切都运行得很好,但是当我将数据结构更改为哈希图
时
,它遇到了无限循环,无限循环是因为定义了返回boolean值
的
bsf函数,更具体地说,错误在行中:if ((!我还想知道使用hashmap来表示图是不是更好
的
方式?以下是附加
的
代码:{
浏览 0
提问于2015-07-19
得票数 1
2
回答
用作映射值
的
列表
的
默认值
c++
、
list
、
map
嗨,我想知道我是否有一个以int为元素,int列表为值
的
map,并且我试图访问一个不在map中
的
键。运算符返回默认值。但是列表
的
默认值应该是什么呢?默认构造函数?
浏览 1
提问于2013-03-26
得票数 2
1
回答
如何使用
std
::
unordered_map
::insert_or_assign
c++
、
c++11
如何实现
std
::
unordered_map
::insert_or_assign
方法
?参数:提示-迭代器
插入
新元素
的
位置。obj -要
插入
或赋值
的
值我用Coord类创建了一个came_from无序映射。(我相信Coord类在这里是不相关
的
,但是如果您认为有必要,注释,那么我将显示代码)。
unordered_ma
浏览 2
提问于2019-02-18
得票数 3
回答已采纳
4
回答
擦除和
插入
单个链表线程安全吗?
c++
、
linked-list
、
thread-safety
、
singly-linked-list
使用
std
::forward_list在擦除和
插入
时是否存在数据竞争?例如,我有一个线程除了在列表末尾添加
新元素
之外什么也不做,还有另一个线程可以遍历(相同)列表并从其中删除元素。根据我对链表
的
了解,每个元素都有一个指向下一个元素
的
指针,所以如果我在
插入
一个
新元素
的
同时删除最后一个元素,这会导致数据竞争还是这些容器
的
工作方式不同(或者它们是否处理这种可能性)?如果这是一场数据竞赛,那么是否有一种(简单而快速)
的
<em
浏览 3
提问于2014-01-02
得票数 4
回答已采纳
1
回答
为什么
std
::
unordered_map
迭代器在
插入
元素
时
不会失效(除了重新哈希发生
的
时间外)?
c++
、
c++14
、
unordered-map
从和描述
的
迭代器失效规则中,我知道迭代器不会对
unordered_map
失效,除非重新散列发生。
std
::
unorde
浏览 0
提问于2018-10-18
得票数 6
2
回答
编辑给定键
的
无序映射中
的
值
c++
、
unordered-map
、
emplace
下面是获取杂志中单词数
的
C++
代码。如果它
的
值
不存在
,我尝试添加这个词,如果它存在,就增加它。
unordered_map
<string,int>hash;{ hash[magazine[i]]++; hash.emplace(magazi
浏览 4
提问于2016-10-24
得票数 3
回答已采纳
1
回答
如果priority_queue
的
容器没有push_back函数怎么办
c++
、
stl
、
priority-queue
std
::priority_queue::push 在priority_queue中
插入
一个
新元素
。这个
新元素
的
内容被初始化为val。该成员函数有效地调用底层容器对象
的
成员函数push_back,然后通过调用包含容器所有元素
的
范围上
的
push_heap算法将其重新排序到堆中
的
位置。现在,当我们创建自己
的
priority_queu并指定一个container,即not in
C++
STL,并且没有p
浏览 1
提问于2014-12-23
得票数 0
回答已采纳
1
回答
哈希表重新散列和迭代器无效
algorithm
、
go
、
data-structures
、
hashmap
、
hashtable
特别是,我对使用增量重新散列
的
冲突链哈希表很感兴趣。 假设我们正在通过迭代器迭代一个哈希表,在迭代过程中
插入
一个元素,该
插入
会导致整个或部分表重新哈希。AFAIK
C++
unordered_map
在重新散列期间使迭代器无效。此外,AFAIK Go
的
map有增量重新散列,并且不会使迭代器无效(范围循环状态),所以这可能是我正在寻找
的
,但到目前为止我还不能完全理解。一种可能
的
解决方案是具有与哈希表并行
的
所有元素
的
双向链
浏览 0
提问于2020-07-15
得票数 2
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
数据结构与算法的Python实现(二)——线性表之顺序表
从入门到精通:C+STL标准模板库完全指南
数据结构-栈和队列
Python基础知识|集合(set)基本操作和常用
大话数据结构之线性表顺序存储结构
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券