Это самое простое, что я мог бы решить мою проблему, извините за длину:
#include <vector>
#include <iostream>
class Bar
{
private:
std::vector<int> intVector_;
public:
Bar() {};
void addInt(int newInt)
{
intVector_.push_back(newInt);
std::cout << intVector_.size() << " ";
};
int getIntVectorSize() { return intVector_.size(); };
};
class Foo
{
private:
Bar bar_;
public:
Foo() { bar_ = Bar(); };
Bar getBar() { return bar_; };
};
int main(char argc, char* argv[])
{
Foo foo = Foo();
foo.getBar().addInt(1);
std::cout << foo.getBar().getIntVectorSize() << " ";
foo.getBar().addInt(2);
std::cout << foo.getBar().getIntVectorSize() << " ";
foo.getBar().addInt(3);
std::cout << foo.getBar().getIntVectorSize() << " ";
}
Моя проблема в том, что добавление int к вектору, кажется, длится только в течение времени addInt()
,Мой вывод для размера вектора выглядит следующим образом:
1 0 1 0 1 0
Я довольно новичок в C ++ и во всем этом бизнесе со ссылками и указателями, поэтому я озадачен тем, как я могу это исправить, или еслиэто даже возможно.Спасибо за любую помощь!