2012-07-20 53 views
0

我知道向量保證與數組具有相同的底層內存佈局。因此對於int等POD(普通舊數據)類型,當a非空時,vector<int> a可用作SomeCFun(&a[0], a.size())。我想知道,當元素類型是(複雜)類類型時,該技巧是否仍然安全工作?關於使用std :: vector <class type Foo>作爲原始數組Foo []

+1

該類型對數組的佈局或C樣式數組(或向量)的行爲沒有影響。 – Xeo 2012-07-20 02:18:03

+1

請注意標題有點偏離。您不能將'vector '的內容作爲'T'的數組使用。你可以做的是獲得一個指向'T'的指針。 – 2012-07-20 04:19:09

回答

0

是的,它會工作。另一種方法是SomeCFun(a.data(), a.size()) - 但無論你喜歡什麼。

1

是的,它保證是任何類型T

相關問題