if(temp>final_hash_index_one)
{
string *tmp = new string[temp+1];
std::copy(level_two, tmp, final_hash_index_one+1);
delete [] level_two;
level_two = tmp;
}
这个方法不起作用,给我一个异常是“无效空指针”!!
string *tmp = new string[some_size];
string *level_two = new string[some_size];
如何将内容从level_two复制到tmp ???如果是第一个字符串;字符串二。我们可以通过循环复制字符串。但在这种情况下是什么?
答案 0 :(得分:3)
首先,STL副本采用
的形式OutputIterator copy ( InputIterator first, InputIterator last, OutputIterator result );
所以你看到结果是最后一个参数。
其次,如果你进入STL(非常好!),你就不再需要数组了。使用字符串向量:
vector<string> tmp(some_size);
vector<string> level_two(some_size);
从level_to复制到tmp只是:
tmp = level_two; // (!)