Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我知道向量保证具有与数组相同的底层内存布局。所以对于 POD(plain-old-data)类型,比如int,vector<int> a可以用作SomeCFun(&a[0], a.size())whena是非空的。我想知道当元素类型是(复杂)类类型时,这个技巧是否仍然安全有效?
int
vector<int> a
SomeCFun(&a[0], a.size())
a
是的,它保证对任何类型都是正确的T。
T
是的,它会起作用的。另一种选择是SomeCFun(a.data(), a.size())- 但无论您喜欢什么。
SomeCFun(a.data(), a.size())