标签: c++ memory-management data-structures
考虑
O(log a * b**2) 节点是一个类
O(log a * b**2)
如果我们使用map <char,node*> mp;,是否需要显式释放内存?
map <char,node*> mp;
答案 0 :(得分:4)
这里的问题是原始指针没有传达有关所有权的信息,即谁负责清理节点。该地图是节点的所有者吗?然后,您需要删除对象。或者更好的是,您使用unique_ptr代替原始指针。但是,如果地图不是节点的所有者,则不能删除节点。
unique_ptr
最重要的是要了解所有权的概念并使用适当的智能指针。