为的是实现一个 LRU Cache. 用 hashmap 和双向链表实现,有两个接口:
T get(K key);
void put(K key, T data);
可是运行出现 segmentation fault,不知道是什么原因...
1
diablocy 2015-01-18 17:08:50 +08:00
无条件执行 count++
|
2
bombless 2015-01-18 17:16:22 +08:00
void put(...) {
if (node) { ... } else { ... node->key = key; ... 看到没有,node的值是零,你非要给它赋值 |
3
diablocy 2015-01-18 17:19:12 +08:00
恩,ls说的也是问题, 没有new node
|
4
msg7086 2015-01-18 17:20:20 +08:00
我做leetcode的LRU Cache是用的unordered_map+list来做的。
一般没必要的话最好用STL而不是自己造轮子。 |
5
vietor 2015-01-18 17:25:36 +08:00 via Android
临界区?
|
6
clowwindy 2015-01-18 19:32:38 +08:00 1
|
7
noli 2015-01-18 20:07:54 +08:00
gdb lldb 什么的……不是跟踪一下就有了吗?
|
10
yhf OP @clowwindy 最后这行 (Node<int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > *) $0 = 0x0000000000000000 是什么意思?
|
12
yuankui 2015-01-19 09:48:09 +08:00
看成了 [实在是搞不明白为什么会出现 segmentfault.com] 。。
羞愧。 |
14
acgeo 2015-01-19 21:40:50 +08:00
多半数组越界
|