スタティックの検証は、C/C++ ソースコードを解析して、プログラム中のさまざまなエラー、警告、問題点をチェックします。不適切なコード形式とオブジェクト指向設計ソリューション上の問題も検出します。
スタティックの検証は、次の問題を検出します。
次に、C/C++ 固有の解析例を示します。
例 1: C++ 例外処理の問題
/**
* uncaught exception test
**/
void
f()
{
throw 1.23;
}
int
main()
{
f();
return 0;
}
スタティックの検証機能で次のメッセージが発行されます。
uncatched.cpp(7): warning #12228: Seems that thrown exception is not caught in the whole program
例 2: CTOR/CCTOR/DTOR/代入演算子の問題
class A {
public:
explicit
A(int data);
A&
operator =(const A& rhs);
private:
int data_;
};
スタティックの検証機能で次のメッセージが発行されます。
Warning : Class A: assignment operator is defined, but CCTOR and DTOR are not.