dr193.c

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

C
73
字号
// { dg-do run }// Origin: Giovanni Bajo <giovannibajo at gcc dot gnu dot org>// DR193: Order of destruction of local automatics of destructor extern "C" void abort(void);namespace N1 {  bool a_done = false;  struct A  {     ~A()    {      a_done = true;    }  };  struct B  {     ~B()    {      if (!a_done)        abort();    }  };  struct C {    B x;    ~C() {      A y;    };  };}namespace N2 {  bool a_done = false;  template <class>  struct A  {     ~A()    {      a_done = true;    }  };  template <class>  struct B  {     ~B()    {      if (!a_done)        abort();    }  };  template <class T>  struct C {    B<T> x;    ~C() {      A<T> y;    };  };}int main(void){  N1::C c1;  N2::C<void> c2;  return 0;}

⌨️ 快捷键说明

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