228.C++中数据类型导致的一个Bug

Posted 每天一个开发小知识

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了228.C++中数据类型导致的一个Bug相关的知识,希望对你有一定的参考价值。

每天一个开发小知识


功能


将两个 string 连接在一起,赋值给另一个 string


问题


response->set_message("flag:" + task.rsp->flag);


预想中 message 的值应为:"flag:1"


而实际情况为:"lag:"


原因是 task.rsp->flag 是 int


string + int 应当于取一个子串,而不是拼接


解决


拼接前将 int 转换成 string


response->set_message("flag:" + StringUtility::Int2Str(task.rsp->flag));


总结


写代码的时候需要很细心


对自己的代码要了然于心


甚至变量的数据类型


每天一个开发小知识,今天你学废了吗?

以上是关于228.C++中数据类型导致的一个Bug的主要内容,如果未能解决你的问题,请参考以下文章

结构体类型重声明导致的bug一个

vscode代码片段建议bug

多么痛的领悟---关于RMB数据类型导致的元转分分转元的bug

jdk1.6.0_29的bug导致c3p0获取sqlserver连接时被hang住甚至deadlock问题的分析

接口测试常见bug

一次疏忽导致的bug