Вспоминаем Си. Ассоциативные массивы

Нужны ассоциативные массивы. Как об-Веб-ившемуся разработчику, уже привыкшему к ним, они просто необходимы. Ничего выдумывать не стал, а использовал уже написанный и отлаженный шаблон map из библиотеки C++ STL.

#include <windows.h> // magic include :)
#include <stdio.h>   // printf
#include <iostream>  // cin, cout
#include <string>    // будем использовать тип string
#include <map>       // будем использовать ассоциативный массив

using namespace std; // без этой штуки ничего работать не будет

int main() {
    typedef map<string,string> assoc;
    // объявляем наш массив
    //   индекс массива - string
    //   значение элементе - string
    assoc m;
    // объявляем итератор для пробега по массиву
    assoc::iterator pos;
    // это так.. тест
    string z;

    // присваиваем значения элементам массива
    m["pop"]   = "asda22sd";
    m["psdf"]  = "asdas33d";
    m["pod"]   = "asdfsdas55d";
    m["pjdkp"] = "asdas44d";
    z = m["pop"];

    // выводим все значения массива стандартными средствами C
    for (pos=m.begin(); pos != m.end(); pos++)
        printf("%s->%s\n", pos->first.c_str(), pos->second.c_str());

    // выводим все значения массива стандартными средствами C++
    for (pos=m.begin(); pos != m.end(); pos++)
        cout << pos->first << "->" << pos->second << endl;
}

Из минусов могу отметить, что бинарный код увеличивается килобайт эдак на 70. Во времена 8-ми битных машин это неслыханная роскошь.

Запись опубликована в рубрике Программирование с метками , . Добавьте в закладки постоянную ссылку.

Добавить комментарий