使用std :: vector <class type =“”foo =“”>作为原始数组Foo [] </class>

时间:2012-07-20 02:16:11

标签: c++ stl

我知道向量可以保证与数组具有相同的底层内存布局。因此对于像int这样的POD(普通旧数据)类型,当vector<int> a非空时,SomeCFun(&a[0], a.size())可用作a。我想知道当元素类型是(复杂的)类型时,技巧是否仍能安全地工作?

2 个答案:

答案 0 :(得分:1)

是的,对于任何类型T,保证是正确的。

答案 1 :(得分:0)

是的,它会起作用。另一种选择是SomeCFun(a.data(), a.size()) - 但不管您喜欢什么。