我有一个数组 A [8] = {0}; 另一个数组 B[20] = {0};
我想将所有值从 B[12...20] 移动到 A[0...8]。我怎样才能准确地改变指数?有公式吗?所以 B[12] -->A[0] B[13] -->A[1]
谢谢你。
使用std::copy
. 它也适用于用户定义的类型:
std::copy(B+12, B+20, A);
或者,在 c++11 中,
std::copy(std::next(B,12), std::end(B), std::begin(A));
您应该std::copy
在此处使用,无论您的数组中的元素类型如何,它都能正常工作(说到这一点,您没有显示该类型——问题的语法无效)。
std::copy(B + 12, B + 20, A);
简单地写一个循环
int offset = 12;
int lenA = 8;
for(int i=0; i < lenA; i++) {
A[i] = B[i+offset];
}
memcpy(A, B + 12, 8 * sizeof(A[0]));
应该做的伎俩。
假设 A 和 B 都是同一类型。