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