gpt4 book ai didi

c++ - 在C++中以不同的长度存储子数组

转载 作者:行者123 更新时间:2023-12-02 09:53:11 25 4
gpt4 key购买 nike

如何在C++中存储不同长度的子数组?
我知道您可以通过指定[]括号中元素的数量来存储大小固定的子数组。例如,在这里我指定父数组将有10个子数组,每个子数组将有2个元素units[10][2]

string units[10][2] = {
{"0", "zero"},
{"1", "one"},
{"2", "two"},
{"3", "three"},
{"4", "four"},
{"5", "five"},
{"6", "six"},
{"7", "seven"},
{"8", "eight"},
{"9", "nine"}
};
但是,例如,我不知道子数组的大小,而不是2,我在子数组中有 x个元素。
string units[][] = {
{"0", "z", "e", "r", "o"},
{"1", "o", "n", "e"},
{"2", "t", "w", "o"},
{"3", "t", "h", "r", "e", "e"},
...
};

最佳答案

这是 std::vector 派上用场的地方:

#include <iostream>
#include <string>
#include <vector>

int main() {
std::vector<std::vector<std::string>> units = {
{"0", "z", "e", "r", "o"},
{"1", "o", "n", "e"},
{"2", "t", "w", "o"},
{"3", "t", "h", "r", "e", "e"},
};

// print result:
for(auto& inner : units) {
std::cout << "size " << inner.size() << ':';
for(std::string& unit : inner) {
std::cout << ' ' << unit;
}
std::cout << '\n';
}
}
输出:
size 5: 0 z e r o 
size 4: 1 o n e
size 4: 2 t w o
size 6: 3 t h r e e

关于c++ - 在C++中以不同的长度存储子数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62660083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com