一个有趣的东西:实现一个函数print, 输入一个数组, 输出数组的各个维度长度。

eg.
int a[2], b[3][4], c[5][6][7];
print(a);   //(2, 4)
print(b);   //(3, 16) (4, 4)
print(c);   //(5, 168) (6, 28) (7, 4)
template<typename T>
void print(const T &A) {
    printf("\n");
}
template<typename T, int N>
void print(const T (&A)[N]) {
    printf("(%d, %d) ", N, sizeof(A[0]));
    print(A[0]);
}
View Code

相关文章: