社区
C++ 语言
帖子详情
C++中的数据类型转换
Redredhot
2009-12-27 09:30:22
int i = 2;
string na = "abc" + i; //这样的转换无效,为什么,求解
各位有没有更详细的更全的C++的类型转换的资料
Email: conquest_lee@126.com
...全文
222
13
打赏
收藏
C++中的数据类型转换
int i = 2; string na = "abc" + i; //这样的转换无效,为什么,求解 各位有没有更详细的更全的C++的类型转换的资料 Email: conquest_lee@126.com
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
闽悦蚊子
2009-12-27
打赏
举报
回复
资料已发至你邮箱,注意查收!
至于问题,5楼已经说得很详细了,确实如此!
"abc" 的类型是 const char[4],而i是整型,没有重载+号支持这样的运算,所以不能进行转换,
yotta
2009-12-27
打赏
举报
回复
[Quote=引用 3 楼 shuilongyin_00 的回复:]
蜡烛 + 蜡 = ?
蜡 + 蜡烛 = ?
不能做的!
蜡烛 + 蜡烛 = 蜡烛
蜡 + 蜡 + 蜡 = 蜡
能做!
蜡烛 + 蜡烛(蜡) = 蜡烛
蜡 + 蜡(蜡烛) = 蜡
类型转换,Google就能找到很多了!
[/Quote]
这个很形象
Vegertar
2009-12-27
打赏
举报
回复
呃,更正一下二楼的回复。
标准允许 "abcdef"[i] 形式的运算(汗!),所以 "abcdefg" + (int) 从逻辑上是可以的,只要你保证不会越界。
g++ 4.4.1 与 VC9 均通过
楼主的代码没有问题。
不过,本人还是要说:
自动转换是引起混乱的根源
z569362161
2009-12-27
打赏
举报
回复
[Quote=引用 5 楼 huang_gen 的回复:]
int i = 2;
string na = "abc" + i; //这样的转换无效,为什么,求解
这样处理当然无效,因为string是位于std命名空间中的一个类,而"abc" 得类型是 const char[4],当然不能进行转换,
int i = 2;
string temp="abc";
string na = temp+ i;这样是可以的,因为string类提供了operator+的重载。
希望我的回帖对你有帮助,记得给分呀!!!
[/Quote]
很详细了。
buptzwp
2009-12-27
打赏
举报
回复
""字符串常量不能进行加减。。。
huang_gen
2009-12-27
打赏
举报
回复
int i = 2;
string na = "abc" + i; //这样的转换无效,为什么,求解
这样处理当然无效,因为string是位于std命名空间中的一个类,而"abc" 得类型是 const char[4],当然不能进行转换,
int i = 2;
string temp="abc";
string na = temp+ i;这样是可以的,因为string类提供了operator+的重载。
希望我的回帖对你有帮助,记得给分呀!!!
Redredhot
2009-12-27
打赏
举报
回复
[Quote=引用 2 楼 vegertar 的回复:]
如果允许这种转换,就将打乱语言内置的字符指针的偏移运算。
[/Quote]
那我该如何转换呢???
shuilongyin_00
2009-12-27
打赏
举报
回复
蜡烛 + 蜡 = ?
蜡 + 蜡烛 = ?
不能做的!
蜡烛 + 蜡烛 = 蜡烛
蜡 + 蜡 + 蜡 = 蜡
能做!
蜡烛 + 蜡烛(蜡) = 蜡烛
蜡 + 蜡(蜡烛) = 蜡
类型转换,Google就能找到很多了!
Vegertar
2009-12-27
打赏
举报
回复
如果允许这种转换,就将打乱语言内置的字符指针的偏移运算。
Vegertar
2009-12-27
打赏
举报
回复
自动转换是引起混乱的根源
lowrmcf
2009-12-27
打赏
举报
回复
顶
xm_xlf
2009-12-27
打赏
举报
回复
[Quote=引用楼主 licgo 的回复:]
C/C++ codeint i=2;string na="abc"+ i;//这样的转换无效,为什么,求解
各位有没有更详细的更全的C++的类型转换的资料
Email: conquest_lee@126.com
[/Quote]
int i=2;
CString temp;
temp.Format(_T("%d"),i);
CString na="abc"+temp;
这样是行的!
希望对你有用!
Redredhot
2009-12-27
打赏
举报
回复
[Quote=引用 10 楼 laiwenyu913 的回复:]
资料已发至你邮箱,注意查收!
至于问题,5楼已经说得很详细了,确实如此!
"abc" 的类型是 const char[4],而i是整型,没有重载+号支持这样的运算,所以不能进行转换,
[/Quote]
那我要实现字符串和整型的拼接,该如何做呢??
c++
中
的
数据
类型转换
本文详细介绍了
C++
中
的
数据
类型转换
规则,包括自动
类型转换
和强制
类型转换
,并通过实例展示了不同场景下的转换效果及注意事项。
C/
C++
中
的
数据
类型转换
本文深入探讨了C/
C++
中
的
数据
类型转换
,包括隐式
类型转换
、强制
类型转换
的详细概念及其应用场景。特别介绍了
C++
中
四种
类型转换
运算符static_cast、const_cast、reinterpret_cast、dynamic_cast的使用方法及注意事项。
C++
中
的
数据
类型转换
方法总结
本文总结了C/
C++
中
的多种
数据
类型转换
方法,包括C
数据
转换函数族、sprintf/snprintf/sscanf函数族、字符串流std::stringstream等,并比较了各自的优劣。
通读《
C++
primer plus》—
C++
中
的5种
数据
类型转换
方式
本文详细介绍了
C++
中
的五种
数据
类型转换
方式:初始化和赋值时转换、{}形式的转换、表达式
中
的转换、传递参数时的转换以及强制
类型转换
。特别强调了不同类型之间赋值可能产生的错误,以及在表达式计算
中
编译器如何进行类型提升。同时,提到了
C++
的强制
类型转换
运算符static_cast的使用示例。
c++
中
的几个转换
数据
类型的深度学习
本文详细介绍了
C++
中
用于
数据
类型转换
的四个关键字:static_cast、const_cast、dynamic_cast和reinterpret_cast。static_cast类似于C的转换,但不支持struct到int的转换和移除const属性。const_cast用于移除表达式的const或volatile属性。dynamic_cast用于安全地在继承层次
中
进行转换,并在转换失败时返回空指针或抛出异常。reinterpret_cast常用于函数指针
类型转换
,但可能存在不可移植性和风险。文章还讨论了这些转换在
C++
中
的使用和重要性。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章