TMap::Emplace() 在应用现有密钥时会覆盖吗?
Does TMap::Emplace() overwrite when existing key is applied?
我读了 STL 的地图不允许通过 emplace(( 或 insert(( 覆盖现有键的值
但是,看起来UE4 TMap的Emplace((允许在应用具有不同值的现有键时进行覆盖。
我理解正确,还是不应该在 TMap 中发生覆盖?
请记住,虚幻引擎的TMap
并不等同于C++的map
。您已经弄清楚了,但是TMap
类中的Emplace
方法确实与map
类中C++的emplace
方法不同,因为使用映射中已存在的键调用Emplace
将替换与该键关联的原始值。
对于TMap
类,Emplace
方法的目的是避免为要插入到映射中的键和值创建非基元类型的副本。请注意,Emplace
仅适用于具有单个参数构造函数的对象类型的键和值。否则,Emplace
方法的行为类似于Add
方法。
相关文章:
- SSH通过/sbin/SSH无法读取RSA密钥文件(从控制台运行)
- 允许从 std::map 的密钥窃取资源?
- TMap::Emplace() 在应用现有密钥时会覆盖吗?
- 在没有密钥的情况下读取密文的剩余噪声预算
- 如何修复无效的API密钥,IP或操作权限错误?
- 所有可能的链接生成器与64位密钥
- 如何在unordered_map中更改密钥?
- 获取当前密钥状态?
- curl_easy_perform() 失败:SSL 对等证书或 SSH 远程密钥不正常
- 将密钥发送到非前台的游戏窗口
- 有哪些方法可以对基于 256 位密钥的矩阵进行加扰?
- 如何在精灵表上的两个不同部分之间来回切换,同时用户仍使用 SFML 持有密钥
- 如何将CNG密钥转换为OpenSSL EVP_PKEY(反之亦然)?
- 运行密钥密码解密知道密钥?
- std::unordered_map 运算符 [] 是否对非现有密钥进行零初始化?
- 封装 std::map 以允许迭代,但没有直接密钥访问?
- 如果我使用同一个密钥推送用户数据两次,会发生什么
- 如何在C++中创建自己的编译密钥
- 重载std::映射不同的密钥类型
- 即使另一个应用具有焦点,检测F1密钥的按键(和覆盖)键