c++map[]赋值导致段错误
代码:
std::map<int, int> m_map;
if (m_map.find(key) == m_map.end()) {
}
std::map<int, int> m_map;
if (m_map.find(key) == m_map.end()) {
m_map[key] = value;
}
堆栈打印显示:
std::local_Rb_tree_decrement at …/…/…/…/./libstdc+±v3/src/c++98/tree.cc:97:no such file.
原因可能是map在find时导致一些重要内容没有初始化。
修改为如下解决。
std::map<int, int> m_map;
m_map.clear();
if (m_map.find(key) == m_map.end()) {
m_map[key] = value;
}