关于shared_ptr的问题

时间:2016-09-19 11:39:43

标签: c++11 g++ shared-ptr dynamic-memory-allocation

我在C ++ Primer中编写了exercise12.28,但是我被困在shared_ptr中。代码可以编译,但在执行时会崩溃。我以为我误用了shared_ptr。请帮我检查以下代码:

mAdapter.notifyItemRangeChanged(size+1, data.size());

1 个答案:

答案 0 :(得分:1)

您忘记检查地图中是否存在该字词。如果密钥不存在,则find会返回word_line.end(),在这种情况下find_word->second具有未定义的行为。

即使找到了单词,您也忘记检查共享指针是否指向null。如果确实指向null,则*(find_word->second)具有未定义的行为。