gpt4 book ai didi

c++ - 引用 vector

转载 作者:太空狗 更新时间:2023-10-29 23:42:19 25 4
gpt4 key购买 nike

我有这个代码

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()));
}

我想做的是将一个 vector 的引用传递给该方法,这样它将把我给它的字符串拆分成 float 而不复制 vector ...我不想复制 vector ,因为它将包含 1000 个数字.

是否无法通过引用传递 vector ,还是我犯了一个愚蠢的错误?

如果它对我有帮助,我正在用它测试代码

int main (void)
{
vector<float> fvec;
string str = "1 2 2 3.5 1.1";

split(&fvec, str);

cout<<fvec[0];

return 0;
}

最佳答案

确实可以。您只是使用了错误的语法。正确的做法是:

split(fvec, str);

您所做的是错误的,因为它将 vector 的地址作为预期引用传递。

关于c++ - 引用 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4947438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com