无意中使用 = 而不是 ==

2024-04-23

看起来

if (x=y) { .... }

代替

if (x==y) { ... } 

是许多罪恶的根源。

为什么不all编译器将其标记为错误而不是可配置的警告?

我有兴趣找出构造的案例if (x=y)很有用。


一种有用的构造例如:

char *pBuffer;
if (pBuffer = malloc(100))
{
    // Continue to work here
}

正如之前提到的,现在已经被否决了好几次,我可能会补充说,这不是特别好的风格,但我经常看到它,可以说它很有用。我也见过这个new,但这让我的胸部更加疼痛。

另一个争议较少的例子可能是:

while (pointer = getNextElement(context))
{
    // Go for it. Use the pointer to the new segment of data.
}

这意味着该函数getNextElement()回报NULL当没有下一个元素时,退出循环。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无意中使用 = 而不是 == 的相关文章

随机推荐