在矢量中编辑对象

Edit object in vector

本文关键字:编辑 对象      更新时间:2023-10-16

如何在矢量中编辑对象?

现在向量是vector<PCB> M3M;

里面是我下面的类中的一些对象。

class PCB
{
public:
    void setPID (int a)
    {
        PID = a;
    }
    int retrievePID()
    {
        return PID;
    }
    int retrieveLimit()
    {
        return Limit;
    }
    void setLimit (int a)
    {
        Limit = a;
    }
    int retrieveBase()
    {
        return Base;
    }
    void setBase (int a)
    {
        Base = a;
    }
    int retrieveHoleTrueOrFalse()
    {
        return HoleTrueOrFalse;
    }
    void setHoleTrueOrFalse (int a)
    {
        HoleTrueOrFalse = a;
    }
private:
    int PID;
    int Limit;
    int Base;
    int HoleTrueOrFalse;
};

我如何能够编辑PID部分在任何地方我选择在我的对象?

例如,我想在我的向量M3M[4]中设置一个新的PID。我该怎么做呢?

M3M[4].setPID(<new PID>);

你也可以有一个迭代器,它可以指向数组中的一个元素,并为它设置一个新的PID。例子:

std::vector<PCB>::iterator it = M3M.begin();
//this will advance your iterator by 3
it += 3;
it->setPID(5); // this will set the 3rd element's PID to 5

请记住,为了执行上面的代码,你的vector至少需要有4个元素。为了填充vector,可以使用vector的push_back()方法。

M3M.push_back(PCB(0));
M3M.push_back(PCB(1));
M3M.push_back(PCB(2));
M3M.push_back(PCB(3));
M3M.push_back(PCB(4));