你好!我可以为你提供关于如何复制二维字符串数组的专业建议。
在 C++ 中,可以使用以下代码来复制一个二维字符串数组:
#include <iostream>
#include <string>
int main() {
const int rows = 3;
const int cols = 4;
std::string arr[rows][cols] = {{"hello", "world", "this", "is", "a", "test"},
{"hello", "world", "this", "is", "a", "test"},
{"hello", "world", "this", "is", "a", "test"}};
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
std::cout << arr[i][j] << " ";
}
std::cout << std::endl;
}
return 0;
}
这段代码首先定义了一个二维字符串数组 arr
,然后使用两个嵌套的循环来遍历数组中的每个元素,并将其复制到一个新的二维数组中。最后,输出新数组中的每个元素。
如果你想将这个代码封装成一个函数,可以使用以下代码:
#include <iostream>
#include <string>
std::vector<std::vector<std::string>> copy_2d_string_array(const std::vector<std::vector<std::string>>& arr) {
std::vector<std::vector<std::string>> new_arr;
new_arr.resize(arr.size());
for (int i = 0; i < arr.size(); ++i) {
new_arr[i].resize(arr[i].size());
for (int j = 0; j < arr[i].size(); ++j) {
new_arr[i][j] = arr[i][j];
}
}
return new_arr;
}
int main() {
const int rows = 3;
const int cols = 4;
std::vector<std::vector<std::string>> arr(rows, std::vector<std::string>(cols, ""));
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
arr[i][j] = "hello world";
}
}
std::vector<std::vector<std::string>> new_arr = copy_2d_string_array(arr);
for (int i = 0; i < new_arr.size(); ++i) {
for (int j = 0; j < new_arr[i].size(); ++j) {
std::cout << new_arr[i][j] << " ";
}
std::cout << std::endl;
}
return 0;
}
这段代码将二维字符串数组 arr
拷贝到一个新的二维数组 new_arr
中,并在函数中返回这个新的数组。在主函数中,我们可以使用这个新的数组来输出其元素。
希望这些信息能够帮助你解决问题!
云+社区沙龙online [国产数据库]
企业创新在线学堂
企业创新在线学堂
DB-TALK 技术分享会
领取专属 10元无门槛券
手把手带您无忧上云