Dinos_12345 Δημοσ. 8 Δεκεμβρίου 2015 Μέλος Δημοσ. 8 Δεκεμβρίου 2015 const char * : δείκτης σε σταθερούς χαρακτήρες char const * : σταθερός δείκτης σε χαρακτήρες Θέλω λίγο διάβασμα στους pointers γιατί έχασα μια θεωρία και έμεινα λίγο πίσω.
dr_dee Δημοσ. 8 Δεκεμβρίου 2015 Δημοσ. 8 Δεκεμβρίου 2015 Κύριοι καλησπέρα σας, νομίζω ότι... const int *ptr και int const * ptr είναι το ίδιο, δηλαδή const data και non-const pointer. Και φαίνεται και στις δύο περιπτώσεις όπου το const βρίσκεται αριστερά του τελεστή '*'. Δηλαδή ο δείκτης μπορεί να αλλάξει δεικτοδότηση σε οποιδήποτε σημείο του κώδικα, ενώ τα δεδομένα της διεύθυνσης που διαχειρίζεται δεν μπορούν να αλλάξουν ανεξάρτητώς τύπου ( εάν είναι μεταβλητές ή σταθερές-μεταβλητές (const) ). Είχα φτιάξει και ένα πινακάκι για να τα θυμάμαι... Εάν μου διαφεύγει κάτι παρακαλώ διορθώστε με. 1
gon1332 Δημοσ. 8 Δεκεμβρίου 2015 Δημοσ. 8 Δεκεμβρίου 2015 (επεξεργασμένο) Δίκαιο έχεις. Λίγο η ώρα, λίγο το Arch είπα βλακείες. Δεν το διορθώνω αφού το διόρθωσες εσύ. Επεξ/σία 8 Δεκεμβρίου 2015 από gon1332
Moderators Kercyn Δημοσ. 8 Δεκεμβρίου 2015 Moderators Δημοσ. 8 Δεκεμβρίου 2015 Ναι έχεις δίκιο. Είχα αυτό στο μυαλό μου. What’s the difference between “const X* p”, “X* const p” and “const X* const p”?Read the pointer declarations right-to-left. const X* p means “p points to an X that is const”: the X object can’t be changed via p. X* const p means “p is a const pointer to an X that is non-const”: you can’t change the pointer p itself, but you can change the X object via p. const X* const p means “p is a const pointer to an X that is const”: you can’t change the pointer p itself, nor can you change the X object via p.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα