我有一个 std::map<std::string, myStruct>
.返回 myStruct
的地址是安全的入口 ?
我确信我的条目不会被删除,但可以添加其他条目。
Type::iterator it = m_map.find(key);
if (it != m_map.end())
{
return &(it->second);
}
最佳答案
这是安全的。
如果是 std::map
只有指向已删除元素的迭代器/引用/指针无效。
引用:
C++03 标准 23.1.2/8:
Only iterators and references to the erased elements are invalidated
关于STL - 返回 std::map 值的地址是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12215358/