AUTOSAR C++14 Rule M4-5-3
Expressions with type (plain) char and wchar_t shall not be used as operands to built-in operators other than the assignment operator =, the equality operators == and ! =, and the unary & operator
Description
Rule Definition
Expressions with type (plain) char and wchar_t shall not be used as operands to built-in operators other than the assignment operator =, the equality operators == and ! =, and the unary & operator.
Rationale
The C++ Standard only requires that the characters '0'
to
'9'
have consecutive values. Other characters do not have well-defined
values. If you use these characters in operations other than the ones mentioned in the rule,
you implicitly use their underlying values and might see unexpected results.
Polyspace Implementation
Polyspace® reports a violation of this rule if char
and
wchar_t
type expressions are used with operators other than these:
=
==
!=
unary
&
Troubleshooting
If you expect a rule violation but Polyspace does not report it, see Diagnose Why Coding Standard Violations Do Not Appear as Expected.
Examples
Check Information
Group: Standard Conversions |
Category: Required, Automated |
Version History
Introduced in R2019a