#include<iostream>
using namespace std;
class Test
{
public:
Test()
{
cout << "construct" << endl;
}
~Test()
{
cout << "destruct" << endl;
}
};
int main(void)
{
Test *p1 = new Test[3];
cout << hex << p1 << endl;
delete p1;
Test *p2 = new Test[3];
cout << hex << p2 << endl;
delete []p2;
return 0;
}
error:
construct
construct
construct
0x8e2b00c
destruct
*** glibc detected *** ./delete[]: munmap_chunk(): invalid pointer: 0x08e2b00c ***
======= Backtrace: =========
/lib/i386-linux-gnu/libc.so.6(+0x73e42)[0xb758ee42]
/lib/i386-linux-gnu/libc.so.6(+0x74525)[0xb758f525]
/usr/lib/i386-linux-gnu/libstdc++.so.6(_ZdlPv+0x1f)[0xb778851f]
./delete[][0x8048893]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xb75344d3]
./delete[][0x8048761]
======= Memory map: ========
08048000-08049000 r-xp 00000000 08:0b 775 /home/useralzman/cTest/delete[]
08049000-0804a000 r--p 00001000 08:0b 775 /home/useralzman/cTest/delete[]
0804a000-0804b000 rw-p 00002000 08:0b 775 /home/useralzman/cTest/delete[]
08e2b000-08e4c000 rw-p 00000000 00:00 0 [heap]
b74ed000-b74ef000 rw-p 00000000 00:00 0
b74ef000-b7519000 r-xp 00000000 08:09 394176 /lib/i386-linux-gnu/libm-2.15.so
b7519000-b751a000 r--p 00029000 08:09 394176 /lib/i386-linux-gnu/libm-2.15.so
b751a000-b751b000 rw-p 0002a000 08:09 394176 /lib/i386-linux-gnu/libm-2.15.so
b751b000-b76ba000 r-xp 00000000 08:09 394144 /lib/i386-linux-gnu/libc-2.15.so
b76ba000-b76bc000 r--p 0019f000 08:09 394144 /lib/i386-linux-gnu/libc-2.15.so
b76bc000-b76bd000 rw-p 001a1000 08:09 394144 /lib/i386-linux-gnu/libc-2.15.so
b76bd000-b76c1000 rw-p 00000000 00:00 0
b76c1000-b76dd000 r-xp 00000000 08:09 394165 /lib/i386-linux-gnu/libgcc_s.so.1
b76dd000-b76de000 r--p 0001b000 08:09 394165 /lib/i386-linux-gnu/libgcc_s.so.1
b76de000-b76df000 rw-p 0001c000 08:09 394165 /lib/i386-linux-gnu/libgcc_s.so.1
b76df000-b77b7000 r-xp 00000000 08:09 530977 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16
b77b7000-b77b8000 ---p 000d8000 08:09 530977 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16
b77b8000-b77bc000 r--p 000d8000 08:09 530977 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16
b77bc000-b77bd000 rw-p 000dc000 08:09 530977 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16
b77bd000-b77c4000 rw-p 00000000 00:00 0
b77d4000-b77d8000 rw-p 00000000 00:00 0
b77d8000-b77d9000 r-xp 00000000 00:00 0 [vdso]
b77d9000-b77f9000 r-xp 00000000 08:09 394124 /lib/i386-linux-gnu/ld-2.15.so
b77f9000-b77fa000 r--p 0001f000 08:09 394124 /lib/i386-linux-gnu/ld-2.15.so
b77fa000-b77fb000 rw-p 00020000 08:09 394124 /lib/i386-linux-gnu/ld-2.15.so
bfc2b000-bfc4c000 rw-p 00000000 00:00 0 [stack]