表示: Delphi C++
表示設定

C++ 検査

提供:RAD Studio XE2
移動: 案内, 検索

ソース コードの検査と測定 への移動


各 C++ ソース コード検査項目とその簡単な説明の一覧を以下の表に示します。

C++ 検査

検査項目 説明
コア:
AdjustedReturnValue

関数呼び出しの戻り値が呼び出し側の想定する値と異なっていないかを確認します。

AttributeNonNull

引数に nonnull の属性が付いている関数にヌル ポインタが引数として渡されていないかを確認します。

CastSize

malloc で割り当てられたシンボル領域を型 T をキャストする際に、そのサイズが T のサイズの倍数になっているかを確認します。

CastToStruct

構造体以外のポインタを構造体ポインタにキャストしていないかを確認します。

FixedAddr

固定アドレスをポインタに代入していないかを確認します。

PointerArithm

配列要素以外の場所でポインタ算術演算が行われていないかを確認します。

PointerSub

異なるメモリ チャンクを指す 2 つのポインタでポインタ減算が行われていないかを確認します。

SizeofPtr

ポインタ式に対して意図せず sizeof() を使用している場合に警告を出力します。

NullDereference

ヌル ポインタの逆参照がないかを確認します。

DivideZero

ゼロ除算が行われていないかを確認します。

NoReturnFunctions
呼び出し側に戻らない関数がないかを確認します。
UndefReturn

初期化されていない値が呼び出し側に返されていないかを確認します。

Branch

初期化されていない値が分岐条件として使用されていないかを確認します。

ArraySubscript

初期化されていない値が配列の添字として使用されていないかを確認します。

Assign

初期化されていない値が代入されていないかを確認します。

StackAddressEscape

スタック メモリを指すアドレスが関数外で使用されていないことを確認します。

UndefinedBinaryOperatorResult

二項演算子(代入以外)の結果が未定義でないかを確認します。

VLASize

サイズが未定義またはゼロの VLA(可変長配列)の宣言がないかを確認します。

セキュリティ:
ArrayBound

バッファ オーバーフローについての警告を出力します(旧チェッカー)。

ArrayBoundV2

バッファ オーバーフローについての警告を出力します(新チェッカー)。

ReturnPtrRange

範囲外のポインタが呼び出し側に返されていないかを確認します。

SecuritySyntactic

データ フローが不要な簡易セキュリティ API チェックを実行します。

効果のないコード:
DeadStores

変数に格納されたものの、その後読み出されていない値がないかを確認します。

IdempotentOperations

べき等演算についての警告を出力します。

UnreachableCode

絶対に実行されないコードがないかを確認します。

その他:
CFPV

浮動小数点値の比較。

CVFCD

コンストラクタやデストラクタからの仮想関数の呼び出し。

DCPC

コピー コンストラクタの定義。

IVNU

反復変数がループ本体で使用されていません。

OPM

private メソッドのオーバーライド。

RINF

継承した非仮想関数の再定義。

SFS

疑わしい for 文。

SSSIDC

switch 文には必ずデフォルト ケースを付加します。

MCC

メソッドを const に変更できます。

NC

命名規則に従っているかどうか。

OROT

関係する演算子は一緒に上書きする必要があります。

PCC

パラメータを const に変更できます。

PVD

仮想デストラクタを用意する必要があります。

UCSC

C++ スタイルのキャストを使用する必要があります。

PMSNT

同名のメソッドを 1 か所にまとめる必要があります。

RCD

制限されたクラス宣言。

ASO

代入演算子。

CIUCFL

for ループ内での複雑な初期化句/更新句。

CIL

コンストラクタ初期化リスト。

ANR

null 参照へのアクセス。

関連項目

以前のバージョン
他言語版