私は実際にstruct/classのコンストラクターでベクトルを初期化しようとしています。
私はこれらを思いついた、以下のコンテンツはエラーなしでコンパイルされますが、ベクターのコンテンツを出力しません。理由を知りたいのですが、助けていただければ幸いです!
struct MyInt
{
friend ostream &operator<<(ostream &printout, const MyInt &Qn)
{
printout<< Qn.value << endl;
return printout;
}
int value;
MyInt (int value) : value (value) {}
};
struct MyStuff
{
std::vector<MyInt> values;
MyStuff () : values ()
{
values.reserve (10); // Reserve memory not to allocate it 10 times...
}
};
int main()
{
MyStuff *mystuff1;
MyStuff *mystuff2;
for (int i = 0; i < 10; ++i)
{
mystuff1->values.push_back (MyInt (i));
}
for (int x = 0; x < 5; ++x)
{
mystuff2->values.push_back (MyInt (x));
}
vector<MyInt>::iterator VITER;
for (VITER =mystuff1->values.begin(); VITER!=mystuff1->values.end(); ++VITER)
{
cout<< *VITER;
}
return 0;
}