当前位置:网站首页>std::string::find 返回值的坑
std::string::find 返回值的坑
2022-08-05 01:52:00 【王大渣】
先看一个bug:
string str = "csdn";
unsigned int i = str.find("-");
if (i < 0)
{
cout << "Not Found";
}
else
{
cout << "Found";
}
bug在于,unsigned int不可能<0,所以这段代码一定都会走到else。常见的正确写法大家都知道:
string str = "csdn";
int i = str.find("-");
if (i < 0)
{
cout << "Not Found";
}
else
{
cout << "Found";
}
但实际上string::find的返回值真的是unsigned
string str = "csdn";
auto i = str.find("-");
cout << typeid(i).name() << endl;
这里,string::find不存在时,返回的实际上是string::npos,所以标准写法应该是:
string str = "csdn";
if (str.find("-") == string::npos)
{
cout << "Not Found\n";
}
else
{
cout << "Found\n";
}
边栏推荐
- 一文看懂推荐系统:召回06:双塔模型——模型结构、训练方法,召回模型是后期融合特征,排序模型是前期融合特征
- 【Endnote】Word插入自定义形式的Endnote文献格式
- 迁移学习——Joint Geometrical and Statistical Alignment for Visual Domain Adaptation
- ExcelPatternTool: Excel table-database mutual import tool
- 英特尔 XDC 2022 精彩回顾:共建开放生态,释放“基建”潜能
- 配置类总结
- tcp中的三次握手与四次挥手
- [Endnote] Word inserts a custom form of Endnote document format
- Greenplum数据库故障分析——版本升级后gpstart -a为何返回失败
- Understand the recommendation system in one article: Recall 06: Two-tower model - model structure, training method, the recall model is a late fusion feature, and the sorting model is an early fusion
猜你喜欢
第09章 性能分析工具的使用【2.索引及调优篇】【MySQL高级】
VOC格式数据集转COCO格式数据集
【TA-霜狼_may-《百人计划》】图形4.3 实时阴影介绍
[Machine Learning] 21-day Challenge Study Notes (2)
硬实力和软实力,哪个对测试人来说更重要?
1349. Maximum number of students taking the exam Status Compression
Method Overriding and Object Class
蓝牙Mesh系统开发四 ble mesh网关节点管理
10年测试经验,在35岁的生理年龄面前,一文不值
刷爆朋友圈,Alibaba出品亿级并发设计速成笔记太香了
随机推荐
Greenplum数据库故障分析——能对数据库base文件夹进行软连接嘛?
【翻译】CNCF对OpenTracing项目的存档
MySQL learning
AI+PROTAC|dx/tx完成500万美元种子轮融资
CMS建站流程
GCC: compile-time library path and runtime library path
fragment可见性判断
基于OpenVINO工具套件简单实现YOLOv7预训练模型的部署
缺陷检测(图像处理部分)
意识形态的机制
MySQL3
英特尔 XDC 2022 精彩回顾:共建开放生态,释放“基建”潜能
Why is this problem reported when installing oracle11
day14--postman interface test
1349. 参加考试的最大学生数 状态压缩
如何创建rpm包
释放技术创新引擎,英特尔携手生态合作伙伴推动智慧零售蓬勃发展
Leetcode brushing questions - 22. Bracket generation
记录谷歌gn编译时碰到的一个错误“I could not find a “.gn“ file ...”
如何发现一个有价值的 GameFi?