Инициализируйте вектор, затем скопируйте все значения в карту - PullRequest
0 голосов
/ 24 ноября 2018

Я хочу сохранить значения из структуры с двумя переменными типа 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++;
}

Я хочу сохранить все переменные из структуры в карте и получить к ним доступ одну за другой.Если я инициализирую карту следующим образом:

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;
...