结果检查
更新:2007 年 11 月
本主题适用于:
版本 |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
速成版 |
仅限本机 |
|||
标准版 |
仅限本机 |
|||
专业团队版 |
仅限本机 |
表格图例:
适用 |
|
不适用 |
|
默认情况下隐藏的一条或多条命令。 |
可以使用断言语句检查操作的结果。断言对于测试快速直观检查时结果不明显的操作最有价值。
例如,研究一下以下代码,这段代码根据 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。对循环的直观检查并不说明这一定为真,因此在循环后使用一条断言语句来测试该条件。