gpt4 book ai didi

c++ - 将在堆栈上声明的元素添加到静态数组

转载 作者:行者123 更新时间:2023-12-02 10:21:49 25 4
gpt4 key购买 nike

假设我有一个std::vector声明为静态的。是否可以将在调用函数的堆栈中本地声明的对象添加到 vector 中而不会造成影响?

据我了解, vector 将其元素存储在堆中。意思是如果我告诉 vector 移动像这样的元素

myvector.push_back(std::move(element));

它会存储在堆中,并且它的可见性会保留,对吗?

编辑:我想避免对象被复制,因为它管理其他资源。

我对么?还是可以更容易做到这一点?

最佳答案

通常,您可以通过从具有自动或静态存储的对象进行复制来复制具有动态存储的初始化对象,反之亦然。是否通过移动复制对象无关紧要。

从理论上讲,可以有某些类只有在以某种方式分配后才能正常工作,但是应将此类设置为不可复制以防止出现问题。

关于c++ - 将在堆栈上声明的元素添加到静态数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59848086/

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