strncmp 有副作用吗?
Does strncmp have side effects?
我有一个静态检查器,它抱怨在if条件下使用strncmp,说
Logical operation performed on expression with possible side effects.
strncmp 是否有潜在的副作用,或者我可以将其视为误报而忽略吗?
if (strncmp(something1, pCurEntry->something2, sizeof(pCurEntry->something2)) == 0)
不允许std::strncmp
产生副作用(例如,const
传递 c 样式字符串(。通过您提供的示例,您的静态分析器错误地发出了一条消息。
但是一个好的静态分析仪会"抱怨"类似的东西
(expression) ? n = strncmp(...) : 1
因为它有一个副作用,即仅在可能的分支的子集上设置n
。(MISRA不允许这样做。
相关文章:
- 在C++中,如何在 C 中使用 strncmp 函数?
- Arduino IDE 中使用 strncmp 函数时出错
- 复制构造函数的奇怪副作用
- 程序只适用于包含(无副作用)cout声明
- 为什么评估一个表达可能会产生副作用
- gdb-查找strncmp()函数的值
- strncmp 有副作用吗?
- 具有必要副作用的静态初始化被优化掉了
- 使用运营商New分配的数据结构是否有任何副作用
- 操作员的排序规则和副作用
- 如果 LTO 中的代码依赖于其构造的副作用,是否允许 LTO 删除未使用的全局对象?
- 默认参数中的 c++ new 运算符及其副作用
- 使用 gcc 的 -fno-math-errno 可能有什么副作用?
- 返回对象的攻击子具有副作用
- 初始化类模板的静态成员会产生副作用
- 斯特伦有副作用吗
- 警告表达副作用
- 使strncmp()接受无符号的char *作为论点
- min()函数的副作用
- C++按引用传递和按值函数传递副作用