将字符串从一个字符串指针数组复制到另一个

时间:2012-03-28 19:34:48

标签: c++

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 ???如果是第一个字符串;字符串二。我们可以通过循环复制字符串。但在这种情况下是什么?

1 个答案:

答案 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;  // (!)