多维数组的函数
A function for multidimensional arrays
我想要一个函数,以便打印多维数组的元素。该功能可能无效或无效。我尝试创建这样的函数,但无法获得结果。
代码:
void multi_deimensional_array_printing(int *(ref)[5], int size){
for (int *(ia)[5]{ref}; ia != ref + 5; ++ia) {// prob
for (int rowsize{0}; rowsize != size; ++rowsize) {
std::cout << rowsize << " ";
}
}
}
std::cout << rowsize << " ";
您想显示数组中的内容,而不是您在数组中的位置。
所以如果你现在不知道有多少我可以做:
void multi_deimensional_array_printing(int **ref, int size){
for (size_t i = 0; ref[i] != NULL ; ++i) {
for (size_t a = 0; a < size; ++a) {
std::cout << ref[i][a] << " ";
}
std::cout << std::endl;
}
}
在你的情况下:
void multi_deimensional_array_printing(int *(ref)[5], int size){
for (size_t i = 0; i < 5 ; ++i) {
for (size_t a = 0; a < size; ++a) {
std::cout << ref[i][a] << " ";
}
std::cout << std::endl;
}
}
您可以通过引用接收数组并使用模板参数推导推导出范围:
#include <iostream>
template <typename T, size_t N, size_t M>
void print(T (&arr)[N][M]) {
for (size_t i = 0ul; i<N; ++i) {
for (size_t j = 0ul; j<M; ++j)
std::cout << arr[i][j] << " ";
std::cout << "\n";
}
}
int main() {
int a[][3] = {
{ 1,2,3 },
{ 4,5,6 },
};
print(a);
}
版画
1 2 3
4 5 6
我想要一个函数,以便打印多维数组的元素。该功能可能无效或无效。我尝试创建这样的函数,但无法获得结果。
代码:
void multi_deimensional_array_printing(int *(ref)[5], int size){
for (int *(ia)[5]{ref}; ia != ref + 5; ++ia) {// prob
for (int rowsize{0}; rowsize != size; ++rowsize) {
std::cout << rowsize << " ";
}
}
}
std::cout << rowsize << " ";
您想显示数组中的内容,而不是您在数组中的位置。 所以如果你现在不知道有多少我可以做: void multi_deimensional_array_printing(int **ref, int size){
for (size_t i = 0; ref[i] != NULL ; ++i) {
for (size_t a = 0; a < size; ++a) {
std::cout << ref[i][a] << " ";
}
std::cout << std::endl;
}
}
在你的情况下:
void multi_deimensional_array_printing(int *(ref)[5], int size){
for (size_t i = 0; i < 5 ; ++i) {
for (size_t a = 0; a < size; ++a) {
std::cout << ref[i][a] << " ";
}
std::cout << std::endl;
}
}
您可以通过引用接收数组并使用模板参数推导推导出范围:
#include <iostream>
template <typename T, size_t N, size_t M>
void print(T (&arr)[N][M]) {
for (size_t i = 0ul; i<N; ++i) {
for (size_t j = 0ul; j<M; ++j)
std::cout << arr[i][j] << " ";
std::cout << "\n";
}
}
int main() {
int a[][3] = {
{ 1,2,3 },
{ 4,5,6 },
};
print(a);
}
版画
1 2 3
4 5 6