我已經定義了一個包含整數向量的結構。然後我在矢量中插入10個整數並檢查struct的大小。但我沒有看到任何區別。爲什麼struct的大小恆定,儘管有一個向量int
這裏是我的代碼:
struct data
{
vector<int> points;
}
int main()
{
data d;
cout << sizeof(d) << endl;
for (int i=0; i< 10; ++i)
d.points.push_back(i)
cout << sizeof(d) << endl;
在這兩種情況下,我得到了相同的結果:
爲什麼會這樣呢? struct的大小不應該增長嗎?
結構是一個指向內存位置的指針,它將始終具有相同的大小。您需要size_of內容以獲取成員數據的總和。 –
提示:sizeof是C++中的編譯時結構 – PlasmaHH