gpt4 book ai didi

c++ - 将 std::unique_ptr 与标准容器一起使用

转载 作者:可可西里 更新时间:2023-11-01 18:15:20 27 4
gpt4 key购买 nike

当我意识到 C++11 添加了 unique_ptr 时,我一直在寻找一种方法来实现安全 vector 和动态指针映射。我研究了如何在 Google 上使用它们,但未能找到详细信息。我需要知道的是:

  1. 除了自动内存收集之外,指针和 unique_ptr 之间到底有什么不同?
  2. 如何从 vector 或 map 中删除 unique_ptr?除了删除迭代器之外,我还必须使用任何特殊代码吗?

最佳答案

  1. 没有。 unique_ptr 只是一个指针的包装器,它会在 unique_ptr 被销毁时删除指针。它没有开销(就像它替换的 auto_ptr 模板一样)。
  2. 不,它会起作用的。困难实际上来自于将指针插入到 vector 或映射中——而您必须移动 unique_ptr 到容器中。

关于c++ - 将 std::unique_ptr 与标准容器一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4637442/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com