dtor19.c
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 68 行
C
68 行
#include "fail.h"
struct CD {
CD();
~CD();
};
int ctors;
CD::CD() {
++ctors;
}
CD::~CD() {
--ctors;
}
int test_default( int x )
{
CD object;
switch( x ) {
case -1 : return 1;
case -2 : return 2;
}
return -x;
}
int test( int x )
{
CD object;
switch( x ) {
case -3 : return 3;
case -1 : return 1;
}
return -x;
}
int main()
{
if( test( -3 ) != -( -3 ) ) fail(__LINE__);
if( ctors != 0 ) fail(__LINE__);
ctors = 0;
if( test( -2 ) != -( -2 ) ) fail(__LINE__);
if( ctors != 0 ) fail(__LINE__);
ctors = 0;
if( test( -1 ) != -( -1 ) ) fail(__LINE__);
if( ctors != 0 ) fail(__LINE__);
ctors = 0;
if( test( 0 ) != -( 0 ) ) fail(__LINE__);
if( ctors != 0 ) fail(__LINE__);
ctors = 0;
if( test_default( -3 ) != -( -3 ) ) fail(__LINE__);
if( ctors != 0 ) fail(__LINE__);
ctors = 0;
if( test_default( -2 ) != -( -2 ) ) fail(__LINE__);
if( ctors != 0 ) fail(__LINE__);
ctors = 0;
if( test_default( -1 ) != -( -1 ) ) fail(__LINE__);
if( ctors != 0 ) fail(__LINE__);
ctors = 0;
if( test_default( 0 ) != -( 0 ) ) fail(__LINE__);
if( ctors != 0 ) fail(__LINE__);
ctors = 0;
_PASS;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?