許多人推薦可變長度數組的矢量類。我必須將指向內存塊的指針傳遞給GL。我如何訪問指向由std::vector
分配的內存塊的指針?如何訪問由std :: vector分配的內存塊?
5
A
回答
11
使用第一個元素的地址。如果你的載體是v
那麼&v[0]
將工作。
4
ContainerType* pData = &vec.front();
0
std::vector<int> v(1000);
int *p = &v[0];
//treat p as if it points to an array of 1000 ints
//all 1000 ints default-initialized with 0!
相關問題
- 1. C++的std :: vector的內存/分配
- 2. 讓std :: vector分配對齊的內存
- 3. 如何知道std :: vector的分配內存大小?
- 4. C++:何時需要std :: vector的共享內存分配器?
- 5. std :: vector如何分配對象?
- 6. 如何從std :: vector中恢復內存?
- 7. 完全重新分配一個std的內存:: vector容器
- 8. 2d std :: vector連續內存?
- 9. 在MATLAB中預先分配內存àla std :: vector :: reserve(n)
- 10. 需要爲C++編寫共享內存分配器std :: vector
- 11. 內存訪問衝突讀取位置調用std :: vector :: empty()時
- 12. 如何訪問std :: vector迭代器中的std :: map屬性?
- 13. 由內部的元素排序std :: vector?
- 14. std :: shared_ptr預分配內存
- 15. 的std :: string沒有自由存儲內存分配
- 16. std :: vector中的自定義分配器
- 17. CUDA內存分配和訪問問題
- 18. 釋放std :: vector的內存C++
- 19. 從位內'std :: vector'
- 20. 由java分配的內存
- 21. 用_M_allocate理解std :: vector()分配
- 22. 動態分配mpfr_t矩陣與std :: vector
- 23. std :: vector :: assign - 重新分配數據?
- 24. std vector const_iterator賦值訪問衝突
- 25. 重分配內存塊
- 26. 使用軟件事務存儲器的C++ std :: vector訪問
- 27. 如何釋放一個包含std :: vector的對象的內存
- 28. std :: vector交換導致內存碎片?
- 29. 將自動分配的std :: vector轉換爲動態分配的std :: vector而不需要開銷
- 30. 的std :: vector.resize有時不分配內存?
這不是一件壞事嗎?能比我更瞭解事情的人能澄清這一點嗎? – batbrat 2011-03-26 11:46:01
@batbrat:不,這不是一件壞事,我不認爲有任何OpenGL調用會嘗試重新分配塊,只是讀取和寫入內容。您必須將正確的長度傳遞給GL。 – 2011-03-26 11:48:13
@Steve Jessop:謝謝澄清。我很高興知道我可以安全地使用它。 – batbrat 2011-03-26 11:50:46