今天在代码中遇到这样的问题
int nStart = -1; while (nStart < strTemp.length()) { ... }
感觉自己写的逻辑没有错误,但是,代码执行结果就是不对,结果单步调试到该处发现,while语句一次也没有执行,为什么呢?
这里的原因是:string::length()的返回值string::size_type类型,而size_type是unsigned int的,所以-1跟它比较是比它大的。
哎,细节决定成败啊,以后千万要注意
mb5fed6ec4336ce ©著作权
今天在代码中遇到这样的问题
int nStart = -1; while (nStart < strTemp.length()) { ... }
感觉自己写的逻辑没有错误,但是,代码执行结果就是不对,结果单步调试到该处发现,while语句一次也没有执行,为什么呢?
这里的原因是:string::length()的返回值string::size_type类型,而size_type是unsigned int的,所以-1跟它比较是比它大的。
哎,细节决定成败啊,以后千万要注意
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M
[T一、Java字符串字符串用于存储文本。一个String变量包含一组用双引号括起来的字符。
c++11标准增加了全局函数std:to_string:string to_string(i
char转string#include"stdafx.h"#include<iostream>#include<string>using namespace std;int main(int argc,char*argv[]){
5b1d814f3cc3 10 月前
4e7a1efcd1ab 10 月前