size_type 也算unsigned int符号学习
来源:互联网 发布:乐视网络电视微博 编辑:程序博客网 时间:2024/06/05 00:08
先上代码,一下程序的输出结果,很出乎意料。
vector<int> array;array.push_back(1);array.push_back(2);array.push_back(3);for (vector<int>::size_type i= array.size()-1;i>=0;--i){cout <<array[i] <<endl;}
console 界面一直刷新,不停止,只有强制退出。到底是什么原因呢?
于是添加跟踪输出,看下面代码:
vector<int> array;array.push_back(1);array.push_back(2);array.push_back(3);for (vector<int>::size_type i= array.size()-1;i>=0;--i){cout << i<<endl;cout <<array[i] <<endl;getchar();}发现i到0只有应该到-1的,却变成了很大的 4294967295 ,查看msdn帮助,发现size_type是unsigned 的,也就是到-1后,会自动变成一个正数,
哎,基础不老呀,如何修改呢,一个是用iterator遍历,第二中就是将i的变量类型修改为int就可以了。
- size_type 也算unsigned int符号学习
- 无符号整数(string::size_type size_t unsigned,long unsigned)
- size_type是unsigned类型
- error LNK2001: 无法解析的外部符号 “unsigned int __cdecl upx_adler32(void const *,unsigned int,unsigned int)”
- vector<int>::size_type 解释
- size_t、size_type、int
- 字符串转换为无符号整数(unsigned int)的问题
- 无符号整数翻转函数实现reverse_bits(unsigned int value)
- 为什么是string::size_type而不是int?---顺便聊聊无符号数和负数的比较
- unsigned long unsigned int unsigned
- unsigned char, unsigned int
- unsigned int
- unsigned int
- int+unsigned
- 无法解析的外部符号 _fprintf,该符号在函数 "unsigned int __cdecl gltLoadShaderPai
- string::size_type和string::size_t和unsigned
- unsigned int 和int
- unsigned int 与 int
- 淘宝技术这十年(子柳著)读书笔记
- 修改状态栏的时间
- 安装redis
- MAC下显示隐藏文件
- InnoDB存储引擎后台线程与内存池
- size_type 也算unsigned int符号学习
- 用户体验时代的9条建议
- C#登录窗口的实现(不用隐藏)
- Linux服务器查看系统的CPU物理个数、核数及是否是超线程
- 还记得BackgroundWorker吗?
- 读王爽老师汇编语言笔记---基础知识
- Log4j 配置最全说明
- Linux使用Windows环境的Android SDK
- Android Intent应用,打开网页,安装程序,打电话,打开地图等功能