0
我有一個無序映射,我想測量它在程序中消耗多少內存。 的unorderedmap是這樣的:以字節爲單位的無序映射大小
Key => int, int
Value => int, bool
我想找出以字節爲單位的地圖大小。 我正在利用.size()函數來找出容器中元素的數量(地圖中的行數)。我正在計算這樣的無序圖的大小
unordermap.size() * (2bytes+2bytes+2bytes+1byte)
這是正確的方式來估計unordermap消耗的內存以字節爲單位嗎?
不知道C++是否有這種情況,但應該有類似於對象開銷的東西,這是默認情況下對象在內存中佔用的大小。這也應該考慮在內。 C++有'sizeof'運算符,您也可以使用它來確定您是否正確 – smac89
@ Smac89'sizeof'運算符是靜態大小。它沒有考慮集合中元素的大小。 – Adam
這是真的,但至少分別使用'sizeof(int)'和'sizeof(bool)'而不是'2'和'1'只能改善事情 –