我有這樣的代碼引用向量
void split(vector<float> &fvec, string str)
{
int place = 0;
for(int i=0; i<str.length(); i++)
{
if(str.at(i) == ' ')
{
fvec.push_back(atoi(str.substr(place,i-place).c_str()));
place=i+1;
}
}
fvec.push_back(atoi(str.substr(place).c_str()));
}
什麼即時試圖做的是通過一個載體參考到方法,因此分割字符串我把那漂浮而不復制的載體......我不想複製矢量,因爲它將包含1000個數字。
是不可能通過引用傳遞向量或我只是犯了一個愚蠢的錯誤?
如果它有助於繼承人的代碼與IM
int main (void)
{
vector<float> fvec;
string str = "1 2 2 3.5 1.1";
split(&fvec, str);
cout<<fvec[0];
return 0;
}
顯然,某些事情沒有按照您預期的方式發生,或者您不會發布此信息。對於那件事,你期望什麼,究竟發生了什麼? – 2011-02-09 16:14:16