这与How to convert a vector<char*> to a vector<string>/string问题相反。如何将矢量<string>转换为矢量<char*>
我有一些传统的例程与vector<char*>
一起使用,所以我需要改变我的vector<string>
。
这是我拿出:
std::vector<char*> charVec(strVec.size(),nullptr);
for (int i=0; i<strVec.size();i++) {
charVec[i]= new char(strVec[i].size()+1);
charVec[i][strVec[i].copy(charVec[i], strVec[i].size())] = '\0';
}
这是正确的吗?
有没有更好的实现方法?
p.s.当然最后我有:
for (int i=0; i<strVec.size();i++) {
delete charVec[i];
}
你的问题是什么? –
你有问题吗?看起来像你已经实现了 – vu1p3n0x
它取决于新的向量是否需要拥有它的字符串,或者它只需要临时查看另一个向量中的字符串。 – Galik