如何正确地将对象添加到向量中而不会造成破坏?

时间:2019-05-02 06:35:17

标签: c++ vector

我正在尝试将对象添加到c ++中的向量中。但是,每次我尝试添加它时,它很快就会被销毁。我感觉是因为对象超出范围-我将如何永久添加对象?

我最初使用push_back函数,但后来也尝试使用emplace_back。

这是我的载体

std::vector<RawBonus> rawBonuses;

这是addRawBonus函数。在此功能末尾检查尺寸会打印出正确的值。

void Attribute::addRawBonus(int baseValue, int baseMultiplier)
{
    this->rawBonuses.emplace_back(baseValue, baseMultiplier);
    cout << rawBonuses.size() << endl; // this prints 1
}

这是单击按钮时调用的函数。它旨在向RawBonuses向量添加“原始奖励”对象。但是,在检查尺寸时,它会显示0。

void Dialog::onApplyButtonClicked()
{
    this->stickman.getDexterity().addRawBonus(extraDexterityCount, 0);
    cout << stickman.getDexterity().getRawBonuses().size() << endl; // this prints 0
}

0 个答案:

没有答案