Θέλετε να επιστρέψετε μια αναφορά const όταν επιστρέφετε μια ιδιότητα ενός αντικειμένου, η οποία δεν θέλετε να τροποποιηθεί έξω από αυτό. Για παράδειγμα: όταν το αντικείμενο σας έχει όνομα, μπορείτε να κάνετε την ακόλουθη μέθοδο const std::string& get_name{ return name; };.
Πότε πρέπει να χρησιμοποιήσετε μια παράμετρο αναφοράς const;
Όταν μεταβιβάζετε ένα όρισμα με αναφορά, χρησιμοποιείτε πάντα μια αναφορά const, εκτός εάν χρειάζεται να αλλάξετε την τιμή του ορίσματος. Οι μη-const αναφορές δεν μπορούν να συνδεθούν με τιμές r. Μια συνάρτηση με παράμετρο αναφοράς non-const δεν μπορεί να κληθεί με κυριολεκτικά ή προσωρινά.
Πότε πρέπει να επιστρέψετε με αναφορά;
Η μετάβαση μέσω αναφοράς σημαίνει μεταβίβαση μιας αναφοράς σε ένα αντικείμενο που υπάρχει ήδη. Επομένως, εάν θέλετε να επιστρέψετε μια αναφορά σε μια συνάρτηση, σημαίνει ότι πρέπει να δημιουργήσετε αυτό το αντικείμενο στη συνάρτηση Γνωρίζετε ότι μια συνάρτηση μπορεί να δημιουργήσει ένα νέο αντικείμενο με δύο τρόπους: στοίβα ή το σωρό.
Τι κάνει η αναφορά const;
εάν χρησιμοποιείτε αναφορά const, το περνάτε με αναφορά και τα αρχικά δεδομένα δεν αντιγράφονται. και στις δύο περιπτώσεις, τα αρχικά δεδομένα δεν μπορούν να τροποποιηθούν από το εσωτερικό της συνάρτησης.
Τι σημαίνει εάν επιστραφεί μια αναφορά;
Σημαίνει επιστρέφετε με αναφορά, η οποία, τουλάχιστον σε αυτήν την περίπτωση, μάλλον δεν είναι επιθυμητή. Βασικά σημαίνει ότι η επιστρεφόμενη τιμή είναι ψευδώνυμο για οτιδήποτε επιστρέψατε από τη συνάρτηση. Εκτός αν είναι μόνιμο αντικείμενο, είναι παράνομο.