编程技巧干货笔记 【数组范围界定】
来源:互联网 发布:穿越火线刮刮乐软件 编辑:程序博客网 时间:2024/04/29 16:30
我们通常会遇到需要使用一个下标访问数组某个元素的情况
它可能会像这样 : public Data getDataByIndex(int index);
而内部实现可能是很简单的这样:
Data getDataByIndex(int index){ if(index >= 0 && index < lenOfList) return list[index]; return NULL;}
这样很好,没有问题,但是最近在 Irrlicht 的源码中看到了一种比较优雅也更简洁的写法
Data getDataByIndex(int index){ if( (unsigned)index < lenOfList ) return list[index]; return NULL;}
将下标转换为无符号数就免去了对 "<0" 情况的考虑
而且(Visual Studio中) int 型在 > 0 部分最大只能表示到 2147483647
而负值转换为 unsigned 之后最小都是 2147483648 ( 对于 short 等等都是一样的哈 )
所以对于类似数组界限圈定这类的问题,这样做代码更简单也更优雅,博主比较中意
见解不到之处,请大家多多提出意见和建议吧! ლ(╹◡╹ლ)
阅读全文
0 0
- 编程技巧干货笔记 【数组范围界定】
- 编程技巧干货笔记 开篇
- 编程技巧干货笔记 【Copy-On-Write】
- 编程技巧干货笔记 【关于内联函数】
- 色差及范围界定
- 编程技巧干货笔记 【关于一些运算符的效率】
- 编程技巧干货笔记 【快速伪随机数生成】
- 编程技巧干货笔记 【Vector / Set OR Map ?】
- Scala学习笔记--视图界定
- 编程技巧,数组覆盖
- 项目为什么总是做不完?范围管理要界定
- 项目为什么总是做不完?范围管理要界定
- 项目为什么总是做不完?范围管理要界定
- 项目/产品开发---项目/产品功能范围界定
- 第一周(2)——项目范围界定
- 编程小技巧笔记
- 编程技巧笔记
- 整形取值范围即编程小技巧
- 小程序文档整理之 -- API(调试接口)
- Git详解汇总
- MyISAM和InnoDB的区别
- [cvpr2017]Adversarial Discriminative Domain Adaptation
- &&与&
- 编程技巧干货笔记 【数组范围界定】
- 利用浏览器,js代码,json和字符串互相转化
- 让你快速提高并掌握如何进行iOS开发技能
- React-native-ios真机调试步骤
- [转]计算机是如何启动的?
- Session失效的问题
- JSON字符串与Java实体类(JavaBean)互转
- 为什么Java byte 类型的取值范围是-128~127
- 算法竞赛入门经典 第二版 习题9-2 免费糖果 Free Candies uva10118