Приветствую,
Помогите пожалуйста, столкнулся с непонятным поведением std::map в MSVC 2010
для примера приведу такой код:
#include <map>
#include <stdio.h>
#include <Windows.h>
int main()
{
std::map<char*,int> MAP;
MAP["a"] = 42;
char key[10];
scanf("%s",&key);
printf("%s:%d\n",key,MAP[key]);
printf("%d",MAP["a"]);
system("pause");
}
если мы попробуем получить элемент map'а с ключем полученным к примеру из стандартного потока ввода(берем предопределенный в коде «a»), то получим, это он является совсем другим элементом, но при этом (strcmp(key,«a») == 0), при этом можно учесть, конечно, что «a» имеет тип const char *, но даже MAP[(char *)«a»] не даёт желаемого результата, ЧЯДНТ?