references as attributes

dear all,

sometimes when a class has attributes that are pointers, it can be confusing whether this object is responsible for deleting the object being pointed to.

I would like to know if it is a common strategy to have class attributes that are references. With references this confusion would not be there.

So I thought I can say: "if an object A is the owner of another object B and is responsible for deleting it, then it will have as an attribute a pointer to it. If an object A uses another object B but is not responisble for creating or deleting it, then it will have a reference to it".

for example

1
2
3
4
5
6
7
8
9
class A
{
B* b; // A is responsible for creating and destroying b
}

class C
{
B& b; // C is merely using b and is not responsible for creating and destroying it
}


Does anybody know if that is common? Or are there drawbacks that I am not aware of?

Greetings
Last edited on
Topic archived. No new replies allowed.