new27.c

来自「用于进行gcc测试」· C语言 代码 · 共 41 行

C
41
字号
// PR c++/34862// { dg-do run }// { dg-options "-O2" }typedef __SIZE_TYPE__ size_t;extern "C" void abort ();struct T{  void *operator new (size_t, char *&);  T () { i[0] = 1; i[1] = 2; }  int i[2];};void *T::operator new (size_t size, char *&p){  void *o = (void *) p;  p += size;  return o;}T *f (char *&x){  return new (x) T ();}char buf[10 * sizeof (T)] __attribute__((aligned (__alignof (T))));intmain (){  char *p = buf;  T *t = f (p);  if (p != buf + sizeof (T))    abort ();  if (t->i[0] != 1 || t->i[1] != 2)    abort ();}

⌨️ 快捷键说明

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