Нужны ассоциативные массивы. Как об-Веб-ившемуся разработчику, уже привыкшему к ним, они просто необходимы. Ничего выдумывать не стал, а использовал уже написанный и отлаженный шаблон 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-ми битных машин это неслыханная роскошь.