gpt4 book ai didi

c++ - strncmp 有副作用吗?

转载 作者:行者123 更新时间:2023-11-28 04:11:25 25 4
gpt4 key购买 nike

我有一个静态检查器,它提示在 if 条件下使用 strncmp,说

Logical operation performed on expression with possible side effects.

strncmp 是否有潜在的副作用,或者我可以忽略它作为误报吗?

if (strncmp(something1, pCurEntry->something2, sizeof(pCurEntry->something2)) == 0)

最佳答案

std::strncmp 不允许产生副作用(例如,c 风格的字符串被传递给 const)。对于您提供的示例,您的静态分析器发出错误消息。

但是一个好的静态分析器会“提示”类似的东西

(expression) ? n = strncmp(...) : 1

因为它具有仅在可能分支的子集上设置 n 的副作用。 (MISRA 不允许这样做。)

关于c++ - strncmp 有副作用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57710397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com