excalloc.c
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 73 行
C
73 行
// test array delete
//
// 93/02/03 -- J.W.Welch -- defined
// #pragma on (dump_ptree)
// #pragma on (dump_emit_ic)
// #pragma on (dump_lines)
// #pragma on (dump_tokens)
extern "C" char* printf( const char* ... );
int ctr = 0;
int dted = 0;
struct S {
int s;
S()
{ s = ctr++;
print();
}
~S()
{ print();
if( 0 == --dted ) {
printf( " throw" );
throw 567;
}
}
print()
{ printf( " %d", s );
}
};
int errors = 0;
void error( const char *msg )
{
printf( "\n**** %s ****\n", msg );
++errors;
}
int main( )
{
int i;
for( i = 1; i < 12; ++i ) {
try {
S* p;
dted = i;
ctr = 0;
printf( "\nS()" );
p = new S[10];
printf( "\n~S()" );
delete[] p;
printf( "\n\n" );
} catch( int k ) {
if( k == 567 ) {
printf( " caught" );
} else {
error( "bad catch value" );
}
}
}
return( 0 );
}
// #pragma on ( dump_scopes )
// #pragma on (dump_exec_ic)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?