Поскольку вопрос ясно о том, как получить доступ к индексу массива, элементы которого являются const char*
,
я считаю, в приведенном ниже примере это простой и прямой подход с использованием ENUM.
#include <iostream>
using namespace std;
int main()
{
enum StringCodes {
STRING1,
STRING2,
STRING3,
STRING4,
STRING5,
STRING6
};
const char *MyArray[] =
{"string1","string2","string3","string4","string5","string6"};
const char *string1 = MyArray[STRING1];
cout << string1;
return 0;
}
Вы можете использовать другой контейнер, например, std::map
, который позволяет связать ключ с элементом:
map<string,const char*> myMap;
myMap["string1"] = "string1";
myMap["string2"] = "string2";
cout << myMap["string1"];
Почему бы не использовать зЬй :: карту или зЬй :: unordered_map? – Borgleader
укажите им имена int: p, или, используйте карту. – keyser
'std :: map' именно то, что вы хотите. –
BWG