2014-07-01 71 views
0

我知道std :: vector,std :: vector:data()和&東西[0]都可以,那麼std :: deque呢? std :: deque沒有data()函數。如何獲得std :: deque指向原始數據的指針?

編輯:如果std :: deque不能保證使用連續存儲,我該如何實現可以獲取原始數據的雙端隊列?

+0

std :: deque不保證使用連續存儲。因此,可能沒有原始數據的數組來獲取指針。 – user1937198

+0

*「我如何實現可以獲取原始數據的deque?」* - 這是沒有意義的,請重新說明它。 –

+0

你爲什麼認爲你需要「原始數據」?你實際上希望做什麼? –

回答

4

deque中包含的數據不保證放置在連續內存塊中。這意味着不可能有類似於vector的data()的函數。

2

不,雙端隊列是一個動態增長的數據結構。與std :: vector不同,它並不像數組那樣在內存中放置,而是作爲指向前一個和下一個內存段的任意內存位置。

相關問題