pr17400.c

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

C
54
字号
// Test PR 17400.  Test case provided by Serge Belyshev.  /* { dg-do compile } *//* { dg-options "-O1" } */void inc (int &);bool dec_test (int &);struct A{  int c;    friend void AddRef (A * p)  {    inc (p->c);  }    friend void Release (A * p)  {    if(dec_test (p->c))      delete p;  }};struct B{  B (A *p) : obj(p)  {    AddRef (obj);  }    ~B()  {    Release (obj);  }    void swap (B &rhs)  {    A * tmp = obj;    obj = rhs.obj;    rhs.obj = tmp;  }    A *obj;};void bar (A *p1, A* p2){    B px (p1);    B px2 (p2);    px.swap (px2);}

⌨️ 快捷键说明

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