结果检查
本主题适用于:
版本 |
Visual Basic |
C# |
F# |
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。 对循环的直观检查并不说明这一定为真,因此在循环后使用一条断言语句来测试该条件。