クラスオブジェクトをヒープに割り当てているので、すべてのデータメンバーがヒープになります。しかし、私のクラスはメンバーとして、いくつかのデータ構造(例えばstd::vector
)が含まれてどのような場合:ヒープ割り当てオブジェクトのデータメンバーは、ヒープまたはスタックに割り当てられますか?
#include <vector>
class Temp
{
public:
std::vector<double> m_dPtList;
};
int main()
{
Temp* pTemp = new Temp;
pTemp->m_dPtList.Add(10.0);
pTemp->m_dPtList.Add(20.0);
pTemp->m_dPtList.Add(30.0);
return 0;
}
値は10.0
、20.0
、および30.0
はヒープ上またはスタック上に保存されますか?
なぜ重要ですか?注:ヒープとスタックは、オブジェクトに関係のない実装の詳細です(なぜそれがどこにあるかは関係ありません)。 –
可能な複製[データメンバーはC++のオブジェクトと同じメモリ空間に割り当てられていますか?](http://stackoverflow.com/questions/187797/are-data-members-allocated-in-the-same-memory- space-as-their-objects-in-c) –