如何在c++中连接两个类数组到分配的空间

How to concatenate two class arrays to an allocated space in c++

本文关键字:数组 两个 分配 空间 c++ 连接      更新时间:2023-10-16

我有两个类数组,每个都有一个指针指向。我只是想知道是否有可能将这两个数组连接到一个新的分配空间。我想到的是std::copy()。可以使用copy()吗?还有其他想法吗?

只需创建一个新数组,并使用for循环迭代地将每个旧数组复制到新数组中

是的,std::copy是合适的工具。

char array1[6] = "haha ";
char array2[4] = "you";
char array3[10];
std::copy(std::begin(array1), std::end(array1), std::begin(array3));
std::copy(std::begin(array2), std::end(array2), std::begin(array3)+5);

(现场演示)

然而,char数组不是合适的工具,正如您可以从所有硬编码的数字和可怕的指针算术中看到的那样。