|
-
Apr 23rd, 2002, 08:30 AM
#1
Thread Starter
Junior Member
Using 'new' keyword for creating objects
Hi all,
I have a question about the 'new' keyword. I couldn`t understand the difference between defining an object and creating an object by 'new' keyword.
CClass myClass;
CClass myClass = new CClass;
What`s the difference, or is there a difference.
-
Apr 23rd, 2002, 08:43 AM
#2
CMyClass *pmyClass = new CMyClass;
new creates the object on the heap, so it isn't destroyed when the object leaves scope. That is useful in a lot of situations. (But I won't list them now)
All the buzzt
 CornedBee
"Writing specifications is like writing a novel. Writing code is like writing poetry."
- Anonymous, published by Raymond Chen
Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.
-
Apr 23rd, 2002, 08:52 AM
#3
Thread Starter
Junior Member
Thanks CornedBee,
And in that case, do you mean polymorphism or inheritance with
'lots of situations'. I`d like to know the advantages of 'new', please.
-
Apr 23rd, 2002, 09:58 AM
#4
I mainly mean object persistence. Say you have a linked list, you might want to store pointers instead of the whole objects. If you do
CClass class;
list.Add(&class);
the list will have an invalid pointer once the function that called Add returns. If you do
CClass* pClass = new CClass;
list.Add(pClass);
you will have a valid pointer until you call delete.
All the buzzt
 CornedBee
"Writing specifications is like writing a novel. Writing code is like writing poetry."
- Anonymous, published by Raymond Chen
Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|