c++ - 重新分配 std::map::value_type& 是否安全?

标签 c++ dictionary iterator

如果我有一个包含一组现有键值对的映射,我直接将其重新分配给迭代器是否安全?例如:

bool switchIf(const std::string& key, Widget& widget)
{
    WidgetMap::iterator iter = _widgets.find(key);
    if(_widgets.end() != iter)
    { 
        iter->second = widget;
    }
    return (_widgets.end() != iter);
}

最佳答案

是的。那是完全安全的。 iter->second 什么也不是,只是对映射中值的引用。

关于c++ - 重新分配 std::map::value_type& 是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7433795/

相关文章:

python - 独特的骰子组合

java - Scala中如何处理Map的复杂操作

c++ - 四叉树遍历

c++ - 检查映射是否包含另一个映射中的所有键

c++ - 用户空间(Linux)中是否有任何高分辨率时钟(us)?

c++ - QPluginLoader 实例总是返回 null

Javascript 将 2 个新键动态添加到新字典对象中,或者如果存在则递增

javascript - 在 JavaScript 中使用对象作为字典的时间复杂度

iterator - 遍历集合。 Iterator 被删除后立即删除它

c++ - Qt 连接具有不同参数的信号