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 + -
显示快捷键?