C++ string.find()返回值问题
来源:互联网 发布:淘宝云购 编辑:程序博客网 时间:2024/06/09 02:42
无意间发现这个问题:string.find()返回值,如果返回给一个int或long int类型,则返回值为-1;
若返回一个string::size_type类型值则返回2^32-1;
原因:string.find()返回值类型为string::size_type,其实是unsigned int类型。so,比较无符号整型2^32-1与整型-1的补码会发现他们是相同的:111111111111111111111111111,对应整型数2进制为:1000……001,即-1。
简言之,就是进行了一次由unsigned int 到int 的强制类型转换。
0 0
- C++ string.find()返回值问题
- 关于string::find的返回值
- string类find函数返回值判定
- 为什么 string.find()返回值是-1
- string类find函数返回值判定
- string类find函数返回值判定
- std::string的find返回值为string::size_type
- 关于string::find()的返回值(转)
- HibernateTemplate的find(String querystring)返回值详解
- string的find函数返回值和string::npos 的理解
- C++:IsProcessInJob返回值问题
- C/C++ string.find 函数
- std::string::find 空字符串 返回结果不是 string::npos
- 关于c++ find返回值类型 与string::nops的使用的若干问题
- c++和python string 的find()方法的返回值不同
- c# List find()方法返回值的问题(返回结果为对象的指针)
- JNI c调用Java 返回值为String
- string 中的 length函数 和size函数 返回值问题
- C# DataTable的构建
- 441. Arranging Coins
- AR移动端缩放和旋转
- VIM 必看操作知识!
- 解决Eclipse/MyEclipse中js中文乱码
- C++ string.find()返回值问题
- 博览网C++课程 第一周
- poj2104 K-th Number
- Instant Run requires 'Tools | Android | Enable ADB integration' to be enable
- 安卓intent action系统服务
- 模板参数自动推导
- oracle合并列函数wm_concat
- 玲珑oj Digital Count
- 通过SQLServer的数据库邮件来发送邮件