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