by Shi Yan
BillConan Studio 2008
最近经常会犯一些比较低级的错误,比如无符号的整数问题。如果一个变量不可能取负值我就习惯声明成无符号类型,比如说数组的下标。这样做主要是为了完全利用32位字长。但是也会构成些隐患。比如这个就不会循环:
for(size_t i=vectorCount;i>-1;--i){ ...}
for(size_t i=count-1;i>0;--i){ ...}
为何是从vectorcount往下数呢?for(size_t i=0; i<vectorCount; i++){...}如何?
-1应该在无符号整数中是0xFFFFFFFF,
原因是因为要删除列表内的元素如果是正向数的话到最后数组会越界,但是倒着数不会
Post a Comment
3 comments:
为何是从vectorcount往下数呢?
for(size_t i=0; i<vectorCount; i++){
...
}
如何?
-1应该在无符号整数中是0xFFFFFFFF,
原因是因为要删除列表内的元素
如果是正向数的话到最后数组会越界,但是倒着数不会
Post a Comment