我们说我有两个char数组:
char a[] = "0123456789";
char b[] = "abcde";
现在我需要复制一些' b'进入' a'的中间,所以我将得到这个结果:
0123abcd89
所以我尝试使用std :: copy或std:copy_n
std::copy(b , b+4, a+4); // or
std::copy_n(b , 4, a+4);
两者都会产生错误,而只是在' a'的开头使用它们。数组工作正常:
std::copy(b , b+4, a); // or
std::copy_n(b , 4, a);
在过去,我总是只使用一个循环来做这种事情,但现在我需要一种方法来尽可能有效地完成这项工作。有没有比使用循环更好的方法?
答案 0 :(得分:0)
好的,问题是VS中的调试模式只有-unsafe函数调用错误,它在发布模式和其他编译器中编译良好。