将数组数组转换为指针数组

时间:2014-07-23 06:15:36

标签: c++ casting

我可以将一个数组int arr[4][10]数组转换为指针数组int *arr[4]吗?

我该怎么写剧组?

2 个答案:

答案 0 :(得分:2)

  

我可以将一个数组数组int arr [4] [10]转换为一个指针数组int * arr [4]吗?

没有

您可以将int arr[4][10]投射到int (*arr)[10] - 或者更确切地说,前者隐式可转换为后者,您根本不需要任何显式投射。

顺便说一句,如果你避免使用原始数组,那就更好了。请改为std::array<T,N>

在这种情况下,您可以使用std::array<std::array<int,10>,4> ..然后尝试以一种根本不需要投射的方式设计您的代码。

答案 1 :(得分:2)

注意“int * a [4]”只有4个指向int的指针,否则它可以指示4个int数组,但int“a [4] [10]”有40个整数数据类型。
所以你不能施展它。