Γιατί να περάσετε από την αναφορά σταθερότητας;
Γιατί να περάσετε από την αναφορά σταθερότητας;

Βίντεο: Γιατί να περάσετε από την αναφορά σταθερότητας;

Βίντεο: Γιατί να περάσετε από την αναφορά σταθερότητας;
Βίντεο: Τι θα πάθεις αν πέσεις μέσα σε μαύρη τρύπα 2024, Μάρτιος
Anonim

Η χρήση του const είναι χρήσιμη για διάφορους λόγους: επιστρατεύει τη βοήθεια των μεταγλωττιστών για να διασφαλίσει ότι οι τιμές που δεν πρέπει να αλλάξουν δεν έχουν αλλάξει (ο μεταγλωττιστής θα στείλει ένα σφάλμα εάν δοκιμάστε, όπως στο παραπάνω παράδειγμα). Λέει στον προγραμματιστή ότι η συνάρτηση δεν θα αλλάξει την τιμή του ορίσματος. Αυτό μπορεί να βοηθήσει με τον εντοπισμό σφαλμάτων.

Γιατί λαμβάνουμε το pass const reference;

Περνάμε την αναφορά const για να αποφύγουμε τη δημιουργία αντιγράφου του αντικειμένου. Όταν περνάτε μια αναφορά const, περνάτε έναν δείκτη (οι αναφορές είναι δείκτες με επιπλέον ζάχαρη για να έχουν λιγότερο πικρή γεύση). Και υποθέτοντας ότι το αντικείμενο είναι ασήμαντο για αντιγραφή, φυσικά.

Ποιο είναι ένα όφελος από τη δήλωση της παραμέτρου ως αναφοράς σταθερότητας;

Οι αναφορές που χρησιμοποιούνται ως παράμετροι συνάρτησης μπορούν επίσης να είναι σταθερές. Αυτό το μας επιτρέπει να έχουμε πρόσβαση στο όρισμα χωρίς να δημιουργήσουμε αντίγραφό του, ενώ εγγυάται ότι η συνάρτηση δεν θα αλλάξει την τιμή που αναφέρεται.

Πώς περνάω μια αναφορά const;

Όταν περνάτε από την αναφορά const, λαμβάνετε το όρισμα με αναφορά (αποφεύγοντας να κάνετε οποιαδήποτε αντίγραφά του), αλλά δεν μπορείτε να κάνετε καμία αλλαγή στο αρχικό αντικείμενο (όπως θα συνέβαινε όταν θα λαμβάνατε τις παραμέτρους κατά τιμή).

Γιατί μεταβιβάζουμε ή επιστρέφουμε μεταβλητές με const ?

Η μετάδοση μιας παραμέτρου με αναφορά const θα πρέπει να επιλέγεται όπου απαιτείται πραγματικά η σημασιολογία των αναφορών, ή ως βελτίωση της απόδοσης μόνο εάν το κόστος της πιθανής αλλοίωσης αντισταθμίζεται από το έξοδα αντιγραφής της παραμέτρου. Για να αποφύγετε τη δημιουργία περιττών αντιγράφων, βελτιώνοντας έτσι την απόδοση.

Συνιστάται: