C++ 标准库迭代循环变量类型
来源:互联网 发布:新闻资讯软件下载 编辑:程序博客网 时间:2024/06/08 06:27
今天做hackermeter上一题的时候用到string的逆向迭代,开始使用了如下循环:
for (string::size_type i = s.size() - 1; i >= 0; i--)出现segmentation fault, 单步调试的时候发现此循环是死循环,才意识到string::size_type类型是无符号的,因此i是永远不小于0的。这个问题与string其实没有关系,其他STL类型的相关size和type等值也都是无符号,包括标准C的size_t也是如此,这也更符合事实。
解决办法有两个:如果确认string的长度不会越界,那么直接用int类型将s.size()强制转化为有符号类型就可以。当然,更好更通用的办法是使用迭代器来进行迭代。
0 0
- C++ 标准库迭代循环变量类型
- c++Primer笔记1(快速入门、变量和基本类型、标准库类型)
- 标准C 类型转换
- C++:标准库类型
- C语言变量类型
- C 变量存储类型
- C语言--变量类型
- C语言变量类型
- C语言-变量类型
- C语言变量类型
- C语言变量类型
- C语言变量类型
- C语言 变量类型
- c变量及其类型
- C变量存储类型
- C++Primer 标准库类型
- [C++]标准库类型容器
- C++,标准库类型vector
- 组合模式——Head First Design Patterns
- Java导出Excel工具类
- android 静默安装,含获取各种应用信息方法,根据apk获取应用信息
- 检测点3.2
- 交换两个变量的值,不使用第三个变量
- C++ 标准库迭代循环变量类型
- 摆渡木马论文
- cocos2d-x 添加中文方法
- Linux x86_64线性地址空间布局(Why Does X86_64 Not Have ZONE_HIGHMEM)
- 文件遍历,递归消除
- Android下Sqlite数据库辅助操作类
- BootStrap入门教程 (一)
- 员工请假管理系统(MFC+ACCESS数据库+ODBC数据源)
- 自定义排序