gpt4 book ai didi

c++ - 将 m x 3 数组更改为 STL 容器?

转载 作者:行者123 更新时间:2023-11-28 01:08:43 25 4
gpt4 key购买 nike

我有一个数组:

const string ARRAY[][3] = {
{"Kolkata","Mumbai","218"},
{"Kolkata","New Delhi","316"},
...
{"Mumbai","Chennai","715"},
{"Chennai","Bangalore","516"},
};

这是一种存储整个表格的便捷方式,因为我知道我有多少行。然而,在未来,数据需要从文件中读取,任何人都可以编辑。

我想创建一个结构,比如:

typedef struct row {
string col1;
string col2;
string col3;
} row_t;

然后创建一个 vector<row_t> .这是一个好主意吗?使用 STL 容器是否有更简单的方法?我也想过创建一个足够大的表来持续一段时间(行数不会经常改变),但感觉不对..

谢谢!

最佳答案

最直接的转换是在结构中使用数组:

struct row {
std::string data[3];
};

std::vector<row> v;

或者你可以使用std::/std::tr1::/boost:: array 类模板:

std::vector<std::array<std::string, 3> > v;

如果您要为每个元素使用单独的数据成员,如您在示例中所示,您应该为它们提供有用的名称,而不仅仅是将它们命名为“col#”。

关于c++ - 将 m x 3 数组更改为 STL 容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4740492/

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