delete2.c
来自「用于进行gcc测试」· C语言 代码 · 共 56 行
C
56 行
// PR c++/15097// { dg-do run }typedef __SIZE_TYPE__ size_t;extern "C" void * malloc (size_t);extern "C" void free (void *);extern "C" void abort(void);void *saved;void * operator new (size_t size){ void *p = malloc (size); saved = p; return p;}void operator delete (void *p){ if (p != saved) abort (); free (p);}struct B1{ virtual ~B1 () throw() {} B1 (){} int x;};struct B2{ virtual ~B2 () throw() {} B2 (){} int x;};struct D : B1, B2{ D (){} ~D () throw() {} int y;};void f1 (D*);void f2 (B2*);void f3 (B1*);int main (void){ f1 (::new D); f2 (::new D); f3 (::new D);}void f1 ( D* p) { ::delete p; }void f2 (B2* p) { ::delete p; } void f3 (B1* p) { ::delete p; }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?