大多数应用程序开发人员是否在真正要使用无符号整数的地方使用有符号整数?我一直在做,我的同事也在做。我没有看到很多其他广泛的代码库(Delphi VCL除外),并且互联网上的示例通常使用整数。VCL开发人员使用自己的数据类型(这是声明变量的最懒惰的方式)。
像这样的代码似乎有些可怕
TStuffRec = record
recordID : Integer;
thingID : Integer;
otherThingID : Integer;
end;
什么时候可以写成
TStuffRec = record
recordID : Cardinal;
thingID : Cardinal;
otherThingID : Cardinal;
end;
从功能上讲,这些记录几乎总是相同的(并且希望即使在64位Delphi中也将继续相同)。但是非常多的人会遇到转化问题。
但是使用无符号整数也有缺点。主要是因为将两者混在一起是多么烦人。
真正的问题是,这是否是实际上已被考虑或纳入最佳实践的东西?通常只取决于开发人员吗?