init19.c

来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 87 行

C
87
字号
// APPLE LOCAL file 4484188// { dg-do run }#include <stdlib.h>#define assert(x) do { if (! (x)) abort(); } while (0)int count = 0;class A{public:	explicit A(int i);	~A();	int i;	A(const A&);	A& operator=(const A&);};A::A(int i_)	: i(i_){}A::~A(){	assert(++count == i);	i = -1;}extern "C" {void one(){	static bool second_time;	if (second_time)		assert(++count == 9);	else	{		assert(++count == 1);		second_time = true;	}	static A a(10);	assert(a.i == 10);}void two(){	assert(++count == 7);	static A a(8);	assert(a.i == 8);}void three(){	assert(++count == 2);	static A a(6);	assert(a.i == 6);}void five(){	assert(++count == 4);	static A a(5);	assert(a.i == 5);}void four(){	assert(++count == 3);	atexit(five);}}A zero(11);int main(){	one();	atexit(one);	atexit(two);	three();	atexit(four);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?