1、如果你有一個(gè)vector v,要得到一個(gè)指向v的指針,從而可以把v中的數(shù)據(jù)當(dāng)做數(shù)組對(duì)待,可以用&v[0]。對(duì)于string s,對(duì)應(yīng)的形式是s.c_str()。
例如:有一個(gè)函數(shù)doSomething(const int * p,size_t numInts),定義vector<int>v,則可以怎么做:
while(!v.empty())
{
doSomething(&v[0],v.size());
}
要首先判斷v.empty()是因?yàn)?,如果v是空的,則v[0]是不存在的,這樣&v[0]就指向了一個(gè)不可知的地址。
例如:有一個(gè)函數(shù)doSomething(const int * p,size_t numInts),定義vector<int>v,則可以怎么做:
while(!v.empty())
{
doSomething(&v[0],v.size());
}
要首先判斷v.empty()是因?yàn)?,如果v是空的,則v[0]是不存在的,這樣&v[0]就指向了一個(gè)不可知的地址。