c++ - 在 C++ 中从现有数组创建子数组的最佳方法是什么?

标签 c++ pointers arrays

好的,我正在尝试从现有数组中获取子数组,但我只是不确定该怎么做。在我的示例中,我有一个非常大的数组,但我想从数组的最后 5 个元素创建一个数组。

我正在谈论的一个例子是:

int array1 = {1,2,3,...99,100};
int array2[5] = array1+95;

我知道这是不正确的,但我在正确处理时遇到了一些麻烦。我想获取 array1 中 96 到 100 的元素并将它们放入 array2 但我不想复制数组。我只希望 array2 从 96 元素开始,这样 array1[96] 和 array2[0] 将指向相同的位置。

最佳答案

为此:

"such that array1[96] and array2[0] would be pointing to the same location."

你可以这样做:

int *arr2 = arr1 + 96;
assert(arr2[0] == arr1[96] == 97);

关于c++ - 在 C++ 中从现有数组创建子数组的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2137361/

相关文章:

c++ - 如何通过 for 循环从 C 函数将表的表返回给 Lua

c++ - 如何将焦点切换到不同的应用程序 C++/WinAPI

android - 如何将字节数组中的图像文件数据转换为位图?

arrays - ruby 排序数组 - 将匹配的元素移动到开头

php - 如何显示自定义字段值数组中的 Wordpress 帖子

c++ - 映射 ISpMMSysAudio::SetLineId 和 mixerLineId

c# - C++ 后端与 C# 前端?

c - linux 上的 malloc 特定地址或页面(指定一个 "minimum offset")

c - 如何在 C 中正确释放 char**

c++ - 在 C++ 中检查是否存在时出错