空隊列,空向量等有多少個字節?空隊列需要多少個字節?
回答
這是一個實現細節 - 標準沒有多說這個。我們大概可以計算出一個最小值:
A vector
將(至少)有一個指向數據本身的指針,一個實際的大小和一個容量。所以至少是整數大小的3倍。顯然,大小和指針可以是64位,在這種情況下,它是3次64位= 24字節。但是沒有看到實際的實現,沒有說是否大小是或者不是64位。
A queue
可能類似。
你當然可以做sizeof(vector<int>)
並親自看看。但不能保證在不同的架構上保持一致。
請考慮,對於'std :: string'應該保持相同的推理:它當然具有數據本身,大小和容量。然而,在Windows的g ++ 4.7.2中,std :: string是4個字節,是單個指針的大小。由於它保存的指針非零,它使用的存儲實際上可能超過了最小值,但重點是對於空字符串,內部指針*可以是空指針,在這種情況下,實例只會使用空間一個單一的指針。 – 2013-02-21 02:14:26
這個問題沒有一般的答案。這完全取決於實施。
一般來說,常見的實現將基於數組或鏈表。在這種情況下,它需要一個指向隊列開始的指針和長度(或指向結尾的指針)。這反過來又意味着需要sizeof(void *)* 2個字節。在x86_64上,它將等於16個字節。鏈表也會有兩個指針。但不同的實現可能需要更多或更少。例如,可以使用24位基地址和8位來存儲大小,從而僅使用4個字節進行簿記。
- 1. 我需要多少個Apache Camel隊列?
- 2. 函數需要多少個字節?
- 3. 在SQL中需要多少個字節需要DateTime格式?
- 4. 一個字符串需要多少個字節?字符?
- 5. #define字符串(字符串文字)需要多少個字節?
- 6. SVN需要多少空間?
- 7. 需要減少雙隊列代碼
- 8. 空對象有多少個字節?
- 9. 需要多少位來尋址32個字節?
- 10. 靜態int變量需要多少個字節?
- 11. 權重需要多少個字節的內存?
- 12. 精確的MIME類型檢測需要多少個字節?
- 13. 需要多少位數來編碼一個八位字節?
- 14. Python:列表的每個元素需要多少空間?
- 15. 需要轉義多少個字符?
- 16. 從多少個節點你需要專用主節點
- 17. 套接字接收隊列中有多少個數據包或字節?
- 18. 嶺迴歸需要多少空間?
- 19. string.Empty和null需要多少空間?
- 20. Git vs SVN需要多少空間?
- 21. 參考需要多少空間?
- 22. java引用需要多少堆空間?
- 23. 「變量名稱」需要多少空間?
- 24. 計算文本需要多少空間
- 25. 阻塞隊列 - 需要更多信息
- 26. BufferedReader,讀多少個字節?
- 27. 在.NET和JavaScript中存儲一個字符需要多少字節?
- 28. 需要多少跳?
- 29. 一個文件用文本「test」調用'file.txt'需要多少個字節?
- 30. Java BufferedOutputStream:要寫多少字節
取決於實施。 – 2013-02-20 23:41:43
它的實現定義。 – 2013-02-20 23:41:55
並取決於處理器架構。 – 2013-02-20 23:42:01