在C++中,返回一个二维char
数组可以通过以下方法实现:
#include<iostream>
char** get2DCharArray() {
static char array[3][4] = {
{'a', 'b', 'c', '\0'},
{'d', 'e', 'f', '\0'},
{'g', 'h', 'i', '\0'}
};
static char* ptr[3];
for (int i = 0; i < 3; ++i) {
ptr[i] = array[i];
}
return ptr;
}
int main() {
char** result = get2DCharArray();
for (int i = 0; i < 3; ++i) {
std::cout<< result[i]<< std::endl;
}
return 0;
}
std::vector
:#include<iostream>
#include<vector>
std::vector<std::vector<char>> get2DCharArray() {
std::vector<std::vector<char>> array = {
{'a', 'b', 'c'},
{'d', 'e', 'f'},
{'g', 'h', 'i'}
};
return array;
}
int main() {
std::vector<std::vector<char>> result = get2DCharArray();
for (const auto& row : result) {
for (const auto& element : row) {
std::cout<< element << " ";
}
std::cout<< std::endl;
}
return 0;
}
在这两种方法中,第一种方法使用了静态数组和指针数组,而第二种方法使用了std::vector
。两种方法都可以实现返回二维char
数组的目的,但是具体使用哪种方法取决于您的需求和编程风格。
领取专属 10元无门槛券
手把手带您无忧上云