>>791-793
”nullで終わる文字列としてコピーされる”ってあたりがなんだけど,
全体としてそんな的外れかな?

using namespace std;
map<string, char *> m;
cout << static_cast<void const*>("data1") << endl;
m["key1"] = "data1";
m["key2"] = "data2";
cout << static_cast<void*>(m["key1"]) << endl;
cout << static_cast<void*>(m["key2"]) << endl;

ってやってアドレス確認してみたら,

0x446000
0x446000
0x446010

ってなったよ(g++ 3.4.0).
VC6ではおそらく,3つとも同じ数値になるんじゃない?