Clause 16 vector和string传给c语言的API

Clause 16 vector和string传给c语言的API
1、如果你有一个vector v,要得到一个指向v的指针,从而可以把v中的数据当做数组对待,可以用&v[0]。对于string s,对应的形式是s.c_str()。
例如:有一个函数doSomething(const int * p,size_t numInts),定义vector<int>v,则可以怎么做:
while(!v.empty())
{
     doSomething(&v[0],v.size());
}
要首先判断v.empty()是因为,如果v是空的,则v[0]是不存在的,这样&v[0]就指向了一个不可知的地址。

你可能感兴趣的:(Clause 16 vector和string传给c语言的API)