gpt4 book ai didi

c++ - std::vector 指针?

转载 作者:行者123 更新时间:2023-11-30 02:11:20 26 4
gpt4 key购买 nike

这是我正在尝试做的。我有一个 std::vector 具有一定数量的元素,它可以增长但不能缩小。问题是它是基于细胞的,所以那个位置可能没有任何东西。我没有创建一个空对象并浪费内存,而是想到了将 std::vector 中的那个单元格设为 NULL。问题是我如何在不需要管理内存的情况下获取指针?我如何利用不必执行新操作并跟踪指针的优势?

最佳答案

对象有多大,您预计 vector 会有多稀疏?如果对象不大或者没有很多空洞,拥有一些“空”对象的成本可能低于必须动态分配对象和管理指向它们的指针的成本。

就是说,如果您确实想在 vector 中存储指针,则需要使用智能指针 vector (例如 vector<shared_ptr<T>> )或设计为拥有指针的容器(例如 Boost 的 ptr_vector<T> )。 ).

关于c++ - std::vector 指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3644919/

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