1
A
回答
1
效率?因爲這是一個常見的用例?如果你想要一個動態位集,考慮vector<bool>
。它甚至定義了一些操作。但請先閱讀this。
2
這樣做是爲了確保位集的特性儘可能接近未加密整數(否則廣泛用於表示位集)的特性。其中之一,負責大小是一個模板參數是要求沒有隱式動態內存分配。
對於動態尺寸比其他特徵更重要的情況,可以使用boost dynamic_bitset。
相關問題
- 1. 爲什麼模板不能通過模板參數「超載」?
- 2. 爲什麼bitset是通過模板實現的?
- 3. 非模板參數爲什麼不能通過std :: vector
- 4. 爲什麼不推導模板參數?
- 5. 模板函數作爲模板參數,標準是什麼?
- 6. 爲什麼void *作爲模板參數而不是模板參數?
- 7. C++模板顯式實現,模板參數是類模板
- 8. 爲什麼在此摺疊實現中不能推導出模板參數?
- 9. C++:通過模板傳遞參數Vs通過函數參數
- 10. 爲什麼不能默認模板模板參數?
- 11. 模板模板參數,爲什麼class被強制?
- 12. 爲什麼模板模板參數不能按預期工作?
- 13. 實現在一個模板參數
- 14. C++:模板參數推導通過模板函數作爲參數傳遞給其他模板函數時
- 15. 爲什麼swap()有時通過傳遞數組來實現?
- 16. 模板或函數參數作爲doxygen中的實現細節?
- 17. 模板:通過函數原型確定模板參數
- 18. 如何通過一個模板函數模板參數列表
- 19. 困惑通過模板參數推導
- 20. 通過url更改WordPress模板參數
- 21. Backbone.js通過參數加載模板
- 22. 如何通過模板類型參數
- 23. 可變參數模板通過父()
- 24. 問題通過模板參數
- 25. 通過虛擬INT INT模板參數
- 26. 通過模板輸出請求參數
- 27. 通過模板傳遞方法參數
- 28. C++模板:使用模板參數分離定義和實現
- 29. 通過PHP實現OpenSocial集成的最佳方式是什麼?
- 30. 爲什麼具有默認模板參數的模板無法在模板模板參數中用作模板參數較少的模板
能否詳細說明爲什麼這是有效的? – nikel
因爲,例如,如果你編寫「bitset <32>」,許多實現將足夠聰明,知道只需要一個'int'來保存所有的位。編譯器希望能夠聰明地將代碼編譯成簡單的機器代碼指令。你永遠不會通過動態位集來獲得這種優化級別,因爲實現代碼和編譯器都不能假定位集的實際大小。 – john