Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
description:
deleting NULL pointers have no effect. deleting a pointer to a base class which points to a derived object is legal assuming the base destructor is virtual. deleting an array of objects using a base class pointer is undefined.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
struct Foo
{
virtual ~Foo() {}
};
struct Bar : public Foo
{
};
int main(int argc, char** argv)
{
Foo* f = new Bar;
delete f;
f = 0;
delete f;
Foo* fa = new Bar[10];
delete [] fa;
fa = 0;
delete fa;
return 0;
}
Enter to Rename, Shift+Enter to Preview
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content