Итак, сначала я спрашиваю; почему вы динамически размещаете свою карту? Это своего рода побеждает цель использования его в первую очередь. Карта будет внутренне использовать динамическое распределение для своих элементов, но сама карта дешева, и вы теряете возможность детерминистически управлять ее памятью через область видимости. Итак, ваш код становится:
map<int,string> my_map;
my_map[100] = "some string";
string x = items[100];
В противном случае вам нужно сначала разыменовать указатель карты.
string x = (*my_map)[100];
Правда ... не делай этого.