MISRA C++:2023 Rule 11.6.2
描述
The value of an object must not be read before it has been set. 1
理由
C++ 标准没有指定未初始化的内存可以是哪些值。此值不可预测,并且在程序每次运行时可能不同。读取和使用未初始化内存的值会导致意外行为。
Polyspace 实现
如果您的代码包含以下问题,则 Polyspace® 会报告违反此规则:
未初始化的变量:在初始化前读取变量。
未初始化的成员:未初始化类构造函数中的类成员:
未初始化的指针:在初始化前解引用指针。
故障排除
如果您预期会出现违规,而 Polyspace 未报告该违规,请参阅诊断为何编码规范违规未按预期显示。
示例
检查信息
| 组:声明符 |
| 类别: 强制 |
PQL 名称:std.misra_cpp_2023.R11_6_2 |
版本历史记录
在 R2024b 中推出
1 All MISRA coding rules and directives are © Copyright The MISRA Consortium Limited 2021.
The MISRA coding standards referenced in the Polyspace Bug Finder™ documentation are from the following MISRA standards:
MISRA C:2004
MISRA C:2012
MISRA C:2023
MISRA C++:2008
MISRA C++:2023
MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.