0
私はこのSOの問題を読んでいますWhen is it best to use the stack instead of the heap and vice versa?、 スタックには限られたサイズしかないので、スタックに大きなオブジェクトを割り当てることはできません。コンテナにオブジェクトをプッシュし、私はいくつかのコードを持っている C++は、コンテナにプッシュするときにクラスオブジェクトをスタックまたはヒープに作成しますか?
、 http://cpp.sh/9xxeaだから、私は別のを好むべきで、オンラインIDEにこのリンクを参照してください?
void AddPerson(const CPerson& p)
{
std::cout << "push back" << std::endl;
persons.push_back(p);
std::cout << "size " << persons.size() << std::endl;
}
void AddPerson()
{
CPerson cp(10, "kit");
std::cout << "push back" << std::endl;
//I know push_back will copy the element and push the copied object(which is created on heap ?), when function returns, cp will be "freed".
//so this function is better than function AddPerson(const CPerson&) ?
persons.push_back(cp);
std::cout << "size " << persons.size() << std::endl;
}
std::vector<CPerson> persons;
リンクに含まれていない質問にコードを挿入します。 TIA。 – Borgleader
コンテナにプッシュしている場合は、とにかくヒープで終了します。 – Kimi
@Borgleader編集 –