搜索
编程论坛
→
开发语言
→
C++论坛
→
『 VC++/MFC 』
→ 请问这几条语句的区别
标题:
请问这几条语句的区别
取消只看楼主
happynight
等 级:
贵宾
威 望:
15
帖 子:807
专家分:760
注 册:2008-4-26
结帖率:
87.93%
楼主
已结贴
√
问题点数:20 回复次数:2
请问这几条语句的区别
map<string,string> x;
string a="abc",b="def";
x.insert(make_pair(a,b)); //正常
x.insert(make_pair("zhang","jie")); //出错
x.insert(make_pair(string("zhang"),string("jie"))); //正常
很好奇为什么第二中不行,改成第三种就可以了
搜索更多相关主题的帖子:
语句
2010-02-03 17:24
happynight
等 级:
贵宾
威 望:
15
帖 子:807
专家分:760
注 册:2008-4-26
第
2
楼
得分:0
别人的解释是 make_pair("zhang","jie")返回一个pair <char*,char*>类型
那是不是说VC中对于""括起来的字符串默认都是作为char*来处理的
不知道我的理解对不对 还是应该怎样理解
对于"zhang"和string("zhang")应该怎样理解两者的区别
2010-02-05 10:35
happynight
等 级:
贵宾
威 望:
15
帖 子:807
专家分:760
注 册:2008-4-26
第
3
楼
得分:0
以下是引用
debroa723
在2010-2-8 19:32:55的发言:
我认为第二个错误的原因是你包了头文件
#include <string.h>
应该包
#include <string>
第二个错误:传入的两个元素是char*,而对当前容器来说,应该是string,于是容器会企图将从char*类型的参数推导出string类型的 ...
虽然我确实是使用的<string> 但你的解释感觉很受益 十分感谢!
2010-02-09 10:03
3
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-297171-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 1.542122 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved