eh990323-1.c

来自「this is a gcc file, you can download it 」· C语言 代码 · 共 77 行

C
77
字号
// check cleanup of template temporariesextern "C" void abort ();extern "C" void exit (int);int ctor = 0;int dtor = 0;template <class T> struct A {	A() {ctor++;}	A(int) {ctor++;}	A(const A&) {ctor++;}	~A() {dtor++;}	operator int() {return 0;}};template <class T> void ff(T);template <class T> void ff(T){}void g(int){}void f(){	int x;	A<int> a1;	A<double> a2(37);	A<long> a3 = A<long>(47);	A<short> a4 = 97;	g(A<char*>());	A<char**>();	x ? A<char*>() : A<char*>();	x = 47, A<double*>(), A<int>(39), A<void>(23), -17;	while (A<short>())		;	for (;A<unsigned>(3);)		;	if (A<A<double> >())		;	ff(A<double>());	throw 59;}int main(){	int flag = 0;	try {		A<unsigned long>();		f();	}	catch (int) {		A<float>(34);		flag = 1;	}	if (!flag)		abort();	if (!ctor || ctor != dtor)		abort();	exit(0);}

⌨️ 快捷键说明

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