gpt4 book ai didi

C++ 映射<字符串, vector <对<字符串,字符串>>> : adding a mapping to an empty vector?

转载 作者:搜寻专家 更新时间:2023-10-31 01:08:57 24 4
gpt4 key购买 nike

我是 C++ 容器模板的新手。我收集了一些记录。每条记录都有一个唯一的名称,以及一个字段/值对列表。将按名称访问记录。字段/值对的顺序很重要。因此我设计如下:

typedef string      Typecode;
typedef string Fieldname;
typedef string Fieldvalue;
typedef vector<pair<Fieldname, Fieldvalue> > Field_value_pairs;
typedef map<Typecode, Field_value_pairs> Record_map;

Record_map records;

我想定义一个方法 add_record(Typecode),它将使用 Typecode 类型的键和一个空的 Field_value_pairs vector 向 records 添加一个条目。 (稍后我将添加部分或全部字段/值对。)但我似乎无法弄清楚要使用什么 map<> 和 vector<> 方法。

我想我想使用operator=,如records["foo_record"] =。但是我应该分配什么作为值,以创建一个“成对的空 vector ”?

最佳答案

你应该指定为:

records["foo_record"] = vector<pair<Fieldname, FieldValue> >();

std::vector 的默认构造函数将创建一个空 vector ,然后您可以使用以下方法向其添加新值

records["foo_record"].push_back(pair<Fieldname, FieldValue>("name", "value"));

关于C++ 映射<字符串, vector <对<字符串,字符串>>> : adding a mapping to an empty vector?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17495949/

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