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 + -
显示快捷键?