imk*_*dal 17 c++ arrays int concatenation
有没有办法在C++中采用两个int数组
int * arr1;
int * arr2;
//pretend that in the lines below, we fill these two arrays with different
//int values
Run Code Online (Sandbox Code Playgroud)
然后将它们组合成一个包含两个数组值的较大数组?
tex*_*uce 29
int * result = new int[size1 + size2];
std::copy(arr1, arr1 + size1, result);
std::copy(arr2, arr2 + size2, result + size1);
Run Code Online (Sandbox Code Playgroud)
只是建议,vector作为动态数组而不是指针会做得更好
Ree*_*sey 11
如果您正在使用数组,则需要分配一个足够大的新数组来存储所有值,然后将值复制到数组中.这需要知道数组大小等.
如果您使用std::vector而不是数组(具有其他好处),这会变得更简单:
std::vector<int> results;
results.reserve(arr1.size() + arr2.size());
results.insert(results.end(), arr1.begin(), arr1.end());
results.insert(results.end(), arr2.begin(), arr2.end());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
71722 次 |
| 最近记录: |