首页 > 解决方案 > 设置和 int 为 0 会节省内存吗?

问题描述

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

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

Cannot_Calculate 是某个 int 的宏,这意味着它没有正确转换,并且有一个 else 语句对它正确转换的 int 进行处理。在此 if 检查之后,根本不使用对象 len50 和 strLen50,因此分析器发出警告的原因。

我的问题是这条线是否必要?将 int 设置为 0 或将字符串设置为空字符串是否会节省内存?如果是这样,那么代码库的所有者会想要它,但它不会那么我最好摆脱它或它。

标签: iosobjective-crefactoring

解决方案


那是一些奇怪的代码。

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

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

刚刚读过它,我会高度怀疑代码库的其余部分。(作为许多项目的顾问,可疑代码通常是一种生活方式。)


推荐阅读