このコードがあります:
void set(list<Person*>* listP){
Person timmy = Person(10);
listP->push_back(&timmy);
}
int main()
{
list<Person*> listP;
set(&listP);
Person* timmy = listP.back();
}
私が正しいことを理解していれば(私を修正してください)、ティミーはスタックに割り当てられているため、メインで使用するときにティミーの値を当てにすることはできません。私は正しいですか?このようなティミーを作成する必要がありますか:
Person* timmy = new Person(10);
スタックではなくヒープに作成するため、メソッドが戻った後に破棄されませんか?
ありがとうございました