gpt4 book ai didi

c++ - 分配不同大小的 std::array

转载 作者:太空狗 更新时间:2023-10-29 23:37:01 25 4
gpt4 key购买 nike

我有一个带有有意义数据的填充 std::array 和一个带有 0 的 std::array。我希望将 6 的数组分配给 8 的数组。在 C++ 中执行此操作的惯用方法是什么?

最佳答案

如果目标数组大于源数组,您可以使用 std::copy:

std::array<int, 6> arr1;
std::array<int, 10> arr2;
// Fill arr1...
std::copy(arr1.begin(), arr1.end(), arr2.begin());

如果目标数组较短,则您必须复制到某个点。我的意思是,您仍然可以使用 std::copy 执行此操作,但您必须执行以下操作:

std::array<int, 10> arr1;
std::array<int, 6> arr2;
// Fill arr1...
std::copy(arr1.data(), arr1.data() + arr2.size(), arr2.begin());

这适用于两种情况:

std::copy(arr1.data(), arr1.data() + std::min(arr1.size(), arr2.size()), arr2.begin());

关于c++ - 分配不同大小的 std::array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10691499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com