Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

const char * : δείκτης σε σταθερούς χαρακτήρες

char const * : σταθερός δείκτης σε χαρακτήρες

Θέλω λίγο διάβασμα στους pointers γιατί έχασα μια θεωρία και έμεινα λίγο πίσω.

Δημοσ.

Κύριοι καλησπέρα σας,

 

νομίζω ότι... const int *ptr  και  int const * ptr είναι το ίδιο, δηλαδή const data και non-const pointer.

Και φαίνεται και στις δύο περιπτώσεις όπου το const βρίσκεται αριστερά του τελεστή '*'.

 

Δηλαδή ο δείκτης μπορεί να αλλάξει δεικτοδότηση σε οποιδήποτε σημείο του κώδικα, ενώ τα δεδομένα της διεύθυνσης που διαχειρίζεται δεν μπορούν να αλλάξουν ανεξάρτητώς τύπου ( εάν είναι μεταβλητές ή σταθερές-μεταβλητές (const) ).
 

 

Είχα φτιάξει και ένα πινακάκι για να τα θυμάμαι...

 

p75bfqelj

 

 

Εάν μου διαφεύγει κάτι παρακαλώ διορθώστε με.

  • Like 1
Δημοσ. (επεξεργασμένο)

Δίκαιο έχεις. Λίγο η ώρα, λίγο το Arch είπα βλακείες. Δεν το διορθώνω αφού το διόρθωσες εσύ. :)

Επεξ/σία από gon1332
  • Moderators
Δημοσ.

Ναι έχεις δίκιο. Είχα αυτό στο μυαλό μου.

 

 

 

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.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...