将int和int设置为0是否可以节省内存?

时间:2019-03-22 15:27:16

标签: ios objective-c refactoring

我正在经历一个旧的代码库,并修复了xCode的静态分析器弹出的问题。所显示的问题是永远不会读取该值,基本上,此方法中发生的事情是它将一个应该为数字的字符串转换为整数。这是有问题的行:

if (len50 == CANNOT_CALCULATE)
{
     len50 = 0;
     strLen50 = @"";
}

Cannot_Calculate是某个int的宏,这意味着它没有正确地强制转换,并且还有else语句会对其正确地强制转换的int进行填充。如果检查之后,则根本不使用对象len50和strLen50,因此是分析仪发出警告的原因。

我的问题是此行是否必要?将int设置为0还是将string设置为空字符串是否可以节省内存?如果是这样,那么代码库的所有者将需要它,但是如果不是这样,我最好还是摆脱它。

1 个答案:

答案 0 :(得分:1)

那是一些奇怪的代码。

1)不,将变量设置为值不会以某种方式影响内存。如果从不读取该值,则这是浪费的代码行(编译器可能仍会对其进行优化)。

2)!""对于设置布尔值会很奇怪。

我刚读完该书的其余部分,就会非常怀疑。 (作为许多项目的顾问,可疑代码通常是一种生活方式。)