c++ pointer newb ερώτηση

Θοδωρής Λύτρας thlytras at gmail.com
Fri Nov 7 18:55:37 EET 2008


Έχω μια ερώτηση για την C++ η οποία ίσως είναι αφελής, δεν τη βρίσκω όμως 
καθόλου αυτονόητη:

Έστω ότι έχω μια κλάση Α, η οποία έχει ως μέλος της μια μεταβλητή Β, και 
δημιουργώ ένα αντικείμενό της στο σωρό (heap). Η μεταβλητή B δημιουργείται 
στο σωρό ή στη στίβα (stack)??? Π.χ.:

class A
{
public:
	int B;
}

void main()
{
A *myA = new A();
}

Αν το A->B δημιουργείται στη στίβα, μήπως θα πρέπει να το δηλώσω ως δείκτη για 
να δημιουργηθεί στο σωρό? Όμως άν το κάνω αυτό, μετά πως μπορώ να αναφερθώ 
στην τιμή του B, δηλαδή να το κάνω dereference? Μήπως *Α->*Β ?? Η μήπως 
**Α->Β ?????????

Θα μου πείτε, γιατί να το φτιάξω στο σωρό? Γιατί μπορεί αντί για int να είναι 
ένα μεγάλο αντικείμενο της Qt4... 

Α, και κάτι ακόμα: όταν στην κλάση μου ορίζω pointers, θα πρέπει να τους κάνω 
όλους delete στον destructor υποθέτω, έτσι???

Thanks for all the help!

Θοδωρής

-- 
"Beauty is transitory"
"Beauty survives"
        - Mr. Spock & Capt. Kirk, "That which survives", stardate unknown
by Theodore Lytras <thlytras at gmail.com>


More information about the Linux-greek-users mailing list