Tag Archives: complete guide

The complete guide to a C++ raw pointer

The complete guide to a C++ raw pointer
SomeClass *ptr=SomeClass();
SomeClass *ptr=SomeClass;

These two definitions are equivalent. Pointers can be slow and can be harder to debug pointer airthmatic code and data involving multiple pointers. Always set pointers to null after freeing otherwise your check for p != NULL will be useless which could cause memory corruption.
A dangling pointer arises when you the address of a pointer after its lifetime is over. This occurs when you are returning addresses of automatic variables from a function or using the address of a memory block that been freed.
The following code will not generate any errors unless indicated in the comments:

using namespace std;

class base {
int i;
void set_i(int x) { i = x; }
class derived: base {};

int main() {
//this does not generate error
/* int *p,*q;
cout<<"p"<FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!