我在堆上分配一個類對象,所以所有的數據成員都將堆在堆上。但是,如果我的類包含一些數據結構(例如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
被存儲在堆或堆棧上?
它爲什麼重要?注意:堆和棧是與對象無關的實現細節(它不關心它在哪裏,所以你應該)。 – 2011-01-07 14:12:11
[數據成員是否可以在與C++中的對象相同的內存空間中分配?](http://stackoverflow.com/questions/187797/are-data-members-allocated-in-the-same-memory- space-as-their-objects-in-c) – 2012-07-30 20:14:36