このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
MISRA C:2012 Rule 10.2
Expressions of essentially character type shall not be used inappropriately in addition and subtraction operations
説明
ルール定義
Expressions of essentially character type shall not be used inappropriately in addition and subtraction operations 1 .
根拠
実質的な文字型の式は char
変数です。char
は数値を表さないため、このデータを算術演算で使用しないでください。
以下の場合にのみ、char
を加算演算と減算演算で適切に使用できます。
加算 (+) 演算の一方のオペランドが
char
であり、もう一方が符号付きまたは符号なしのchar
、short
、またはint
である場合。この場合、演算はchar
を返します。減算 (-) 演算の 1 つ目のオペランドが
char
であり、2 つ目が符号付きまたは符号なしのchar
、short
、またはint
である場合。両方のオペランドがchar
である場合、演算は "標準の" 型を返します。それ以外の場合、演算はchar
を返します。
上記の用法によって、大文字と小文字の変換や数字と序数値の変換などの文字データ操作が可能になります。
実質的な型についての詳細は、MISRA C Rule 10.x の実質的な型を参照してください。
トラブルシューティング
ルール違反を想定していてもその違反が表示されない場合、コーディング規約違反が想定どおりに表示されない理由の診断を参照します。
例
チェック情報
グループ: 実質的な型モデル |
カテゴリ: 必要 |
AGC カテゴリ: 推奨 |
バージョン履歴
参考
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.