如何避免将向量的整个值复制到另一个容器中

问题描述 投票:0回答:1

[如何避免在我的代码中保留两个容器kwsreq_kws的同时将向量kws的整个值复制到下面的req_kws(向量的向量)?

 vector<vector<string>> req_kws;
 for (string& request : requests) { 
    vector<string>& kws = req_kws.back(); //<-- define &kws to empty req_kws
    kws = split(kwsStr, ",");   //split is a parsing function upon string kwsStr
    req_kws.push_back(kws);
 }

我在第3行中使用过

vector<string>& kws = req_kws.back();

以这种方式,不是存储kws向量的所有值,而是仅将其引用存储到req_kws中。

但是,我在运行时遇到分段故障。有办法解决吗?

谢谢您的帮助。

c++ vector reference copy
1个回答
0
投票

但是您应该使用

© www.soinside.com 2019 - 2024. All rights reserved.