#include <vector>
#include <iostream>
#include <algorithm>
#include <string>
#include <unordered_map>
#include <unordered_set>
using namespace std;
// 双向链表
struct ListNode {
int times;
unordered_set<string> bucket;
ListNode *prev;
ListNode *next;
ListNode() {
prev = nullptr;
next = nullptr;
}
ListNode(int times, string key) : ListNode() {
this->times = times;
bucket.emplace(key);
}
};
int main() {
unordered_map<string, ListNode *> map;
ListNode *node = new ListNode();
map.emplace("haha", node);
// map["haha"] = node;
ListNode *node2 = new ListNode(1, "x");
map.emplace("haha", node2);
// map["haha"] = node2;
}
- 调试图像:
- 为什么关键字对应的值
"haha"
没有变化呢?应该是0xec1e20
而不是0xec1c90
。 - 当我使用时
operator[]
,我可以成功更改对应的值"haha"
。