Vector持有一个持有指针的类

问题描述 投票:0回答:0

我有一个模板类 Position,它有一个指向 Entry 对象的指针。如果我在堆栈上创建位置,然后将它们插入到 std::vector 中,它会产生错误吗?

这是我的职位模板:

template <typename K, typename V>
class Position
{
private:
    Entry<K, V> *ptr;
    int index;
public:
    Position(Entry<K,V> &e, int index){
        *ptr = e;
        this->index = index;
    }

我在向量中这样插入:

Entry<int, int> e(20, 20);
//Creates Position with reference to Entry and Index as value.
storage.push_back(Position<K,V> p(e, 10));

我不完全确定内存如何用于简单的插入。如果我在本地函数中插入更多,并且 Position 是在本地创建的。

那么,我可以这样做吗,我应该使用 new 以便它保留在堆上吗?我做错了吗? 提前感谢您的帮助。

c++ pointers
© www.soinside.com 2019 - 2024. All rights reserved.