eh990323-5.c
来自「this is a gcc file, you can download it 」· C语言 代码 · 共 68 行
C
68 行
// check cleanup of partial array objectsextern "C" void abort (void);extern "C" void exit (int);int ctor = 0;int dtor = 0;int cnt = 1;struct A { int x; A(); A(const A&); ~A();};A::A(){ if (cnt == 10) throw 57; x = cnt++; ctor++;}A::A(const A&){ if (cnt == 10) throw 57; x = cnt++; ctor++;}A::~A(){ if (x + 1 != cnt--) abort(); dtor++;}void f(){ A a[] = {A(), A(), A(), A(), A(), A(), A(), A(), A(), A(), A(), A()}; throw -1066;}intmain(){ int flag; flag = 0; try { f(); } catch (int) { flag = 1; } if (!flag) abort(); if (ctor != 9) abort(); if (dtor != 9) abort(); exit(0);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?