C/C++单元测试工具Visual Unit 4在线帮助


空对象

    对于指针,可以输入 EMPTY 建立空对象,用于:1)显式地构建一个空对象,2)构建一个空的容器对象。例如,针对如下代码的测试:
 
   
 

    参数pData是出参,不需要设定对象成员的值,但如果不设值,pData将赋值为空指针(NULL),为了让pData指向一个有效的对象,可以给其中的一个成员赋空值,如下图的case 1,但这种方式含义不明确,也许将来会疑惑:为什么要把pData->a设为0呢,下一个用例是不是该设为1呢?这种情形,应该给pData赋值为EMPTY,如case 2,表示指向一个有效的对象,对象的值为空,相当于:
    pData = malloc(sizeof(BASE));
    memset(pData, 0, sizeof(BASE));
    或:
    pData = new BASE(); //有构造函数

   
 

    参数pList是链表容器的指针,如果要指向一个空的链表对象,则必须使用EMPTY。如下图,对于case 1,pList指向一个有效链表对象,但链表中会包含一个Base*的对象指针,即pList->GetCount()的值为1,对于case 2,pList指向一个有效链表对象,pList->GetCount()的值为0。