結果のチェック
更新 : 2007 年 11 月
このトピックの内容は、次の製品に該当します。
Edition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
ネイティブのみ |
|||
Standard |
ネイティブのみ |
|||
Pro/Team |
ネイティブのみ |
表の凡例 :
対象 |
|
該当なし |
|
既定で非表示のコマンド |
アサート ステートメントを使用すると、演算結果をチェックできます。アサーションは、ざっと見ただけでは結果がわかりにくい演算をテストする場合に有用です。
たとえば、次のコードを検討してみます。このコードは、mols の指すリンク リストの内容に基づいて変数 iMols を更新します。
/* This code assumes that type has overloaded the != operator
with const char *
In addition, it also assumes that H2O is somewhere in that linked list.
Otherwise we'll get an access violation... */
while (mols->type != "H2O")
{
iMols += mols->num;
mols = mols->next;
}
ASSERT(iMols<=numMols); // MFC version
_ASSERT(iMols<=numMols); // CRT version
iMols でカウントされる分子の数は、必ず分子の総数 numMols 以下であることが必要です。このループを目で見ただけでは必ずそうなるかどうかを確認できないため、ループの後にアサート ステートメントを挿入し、その条件が満たされているかどうかをチェックします。