我对c ++有一个小问题
我正在做一些测试,以通过r值将静态数组发送到某些函数。 和分配给新阵列
确保,逐个使用或复制所有元素是一种解决方案 但还有其他方法吗?
感谢阅读!
#include <iostream>
using namespace std;
template <class T>
class TD;
template <typename T, int N>
void func(T (&&B)[N]) {
decltype(auto) C = B;
// now, type of array B is 'int (&&)[10]'
// now, type of array C is 'int (&)[10]'
// activate if you wanna know type of B and C
// TD<decltype(B)> bType;
// TD<decltype(C)> cType;
B[4] = 1;
C[5] = 2;
printf("B[10] : ");
for (int i = 0; i < 10; ++i) {
printf("%d ", B[i]);
} printf("\n");
}
int main(void) {
int A[10] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
printf("A[10] : ");
for (int i = 0; i < 10; ++i) {
printf("%d ", A[i]);
} printf("\n");
func(move(A));
printf("A[10] : ");
for (int i = 0; i < 10; ++i) {
printf("%d ", A[i]);
} printf("\n");
return 0;
}