p789a.c

来自「gcc-you can use this code to learn somet」· C语言 代码 · 共 44 行

C
44
字号
// global and local multidimensional array objects are not getting// constructors called on any dimension, other than the first.  Also,// the destructors are not being called.  Seems odd, they probably// used to work. :-(// prms-id: 789extern "C" int printf (const char *, ...);struct foo{  static int count;  void print (int i, int j) { printf ("foo[%d][%d] = %d\n", i, j, x); }  int x;  foo () {    x = count++;    printf("this %d = %x\n", x, (void *)this);  }  virtual ~foo () {    printf("this %d = %x\n", x, (void *)this);    --count;  }};int foo::count;int main (){  {    foo array[3][3];    for (int i = 0; i < 3; i++)      {	for (int j = 0; j < 3; j++)	  {	    printf("&a[%d][%d] = %x\n", i, j, (void *)&array[i][j]);	  }      }      // The count should be nine, if not, fail the test.      if (foo::count != 9)	return 1;  }  if (foo::count != 0)    return 1;  return 0;}

⌨️ 快捷键说明

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