C++在map映射的问题

#include<stdio.h>#include<map>std::map<char*,char*>ef;intmain(){char*a="hello";ef["he... #include<stdio.h>#include<map>std::map<char*,char*>ef;int main(){ char *a="hello"; ef["hello"]="hi"; printf("%s %s\n",a,ef[a]); char b[]="hello"; ef["hello"]="hi"; printf("%s %s\n",b,ef[b]);}

第二个结果为什么会这样?
展开
 我来答
匿名用户
2015-01-21
展开全部
      char b[] = "hello";
ef["hello"] = "hi";
map 存不是b的指针,是"hello"的副本。
ef["hello"] = "hi";
是申请值为"hello"的栈,把地址map,
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式