这与 如何将 vector<char*> 转换为 vector<string>/string 问题相反。
我有一些使用 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];
}