初始化向量,然后将所有值复制到地图中

时间:2018-11-24 19:17:17

标签: c++ unordered-map

我想存储一个带有两个char类型的变量的结构体的值,并引入一个向量。

typedef struct SFoo
{
    char a[10];
    char b[10];
} FooTable;

std::vector<FooTable> vec_FooTable;

然后我想通过地图访问这些数据,我用另一种方法从矢量中复制数据。

假设这个mapx已经具有来自该结构的数据。

typedef std::unordered_map<std::string, bool> mapx;
mapx map_foo;

我这样初始化地图

FooTable* p;
map_Foo[p->a] = true;

我访问这样存储的字符串

auto it = map_foo.begin();

while (it != map_foo.end())
{
    const std::string &r = it->first;
    it++;
}

我想将struct中的所有变量存储在映射中,并一一访问它们。 如果我这样初始化地图

FooTable* p;
map_Foo[p->a] = true;
map_Foo[p->b] = true;

地图将存储以下值:

Value a
value b

注意:a,b变量的值来自表的mysql数据库

我如何初始化地图,以便a and b将是唯一的?

我想访问这样的结构值

= it->first->a;
= it->first->b;

0 个答案:

没有答案