Ποια είναι η διαφορά μεταξύ int και int& στην C++;

Poia Einai E Diaphora Metaxy Int Kai Int Sten C



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

Ας δείξουμε τα παραπάνω ερωτήματα ένα προς ένα.







Τι είναι το int στη C++;

Στην C++ το int είναι ένας τύπος δεδομένων που αναφέρεται μόνο σε δεδομένα ακέραιου τύπου. Το int είναι μια δεσμευμένη λέξη-κλειδί στη C++ που έχει μόνο μια ακέραια τιμή ώστε να μπορούμε να την αποθηκεύσουμε στη μνήμη και να εκτελέσουμε κάποιες λειτουργίες. Στην C++ χρησιμοποιούμε τον τύπο δεδομένων int για να δηλώσουμε οποιαδήποτε θετική, αρνητική και μηδενική τιμή στο πρόγραμμά μας.



Μια μεταβλητή ακέραιου τύπου παίρνει 4 byte στη μνήμη. Στη C++ η δήλωση της μεταβλητής τύπου integer αναφέρεται παρακάτω:



ενθ ένα = 10 ;





Παραπάνω, δημιουργείται μια μεταβλητή ακέραιου τύπου με το όνομα του ένα και μια θέση στην κύρια μνήμη που έχει αποθηκευμένη τιμή 10.

Τι είναι το int& στην C++;

Το int& σημαίνει αναφορά σε μεταβλητή ακέραιου τύπου. Σημαίνει ότι θα δείχνει σε μια μεταβλητή ακέραιου τύπου που υπάρχει ήδη στο χώρο αποθήκευσης. Μια μεταβλητή αναφοράς πρέπει να αρχικοποιηθεί για να συνδεθεί με ένα πραγματικό στοιχείο του ίδιου τύπου όταν δηλώνεται. Ακολουθεί η προετοιμασία του int&:



int a = 5 ;
ενθ & ref_var = α;

Σε αυτή την περίπτωση, το ref_var είναι μια αναφορά σε ένα . Οποιαδήποτε επέμβαση σε ref_var αντιπροσωπεύει μια ενέργεια σε ένα μεταβλητός. Για παράδειγμα, αν πληκτρολογήσουμε ref_var= 25; η τιμή του a θα αλλάξει σε 25 επειδή το ref_var Η μεταβλητή είναι απλώς ένα ψευδώνυμο για ένα μεταβλητός.

Παραδείγματα: Διαφορά μεταξύ int και int& στην C++

Για να κατανοήσετε τη διαφορά μεταξύ int και int&, δείτε τα παρακάτω παραδείγματα:

#include
χρησιμοποιώντας namespace std?

int main ( ) {
int a = 2 ; // δημιουργήστε μια ακέραια μεταβλητή a και δώστε της την τιμή 2
int b = a; // δημιουργήστε ένα αντίγραφο του α και αντιστοιχίστε το στο β
α = 4 ; // αλλάξτε την τιμή του a σε 4
cout << ένα << endl; // παραγωγή: 4
cout << σι << endl; // παραγωγή: 2
ΕΠΙΣΤΡΟΦΗ 0 ;
}

Παραγωγή

Σε αυτόν τον παραπάνω κώδικα, αλλάζοντας την τιμή του ένα δεν αλλάζει την τιμή του σι , επειδή σι είναι απλώς ένα αντίγραφο του ένα που ορίζεται στην αρχή της κύριας συνάρτησης.

#include
χρησιμοποιώντας namespace std?

int main ( ) {
int a = 2 ; // δημιουργήστε μια ακέραια μεταβλητή a και δώστε της την τιμή 2
ενθ & ref_var = a; // δημιουργήστε μια αναφορά στο α
α = 4 ; // αλλάξτε την τιμή του a σε 4
cout << ένα << endl; // παραγωγή: 4
cout << ref_var << endl; // παραγωγή: 4
ΕΠΙΣΤΡΟΦΗ 0 ;
}

Παραγωγή

Σε αυτό το παράδειγμα, ref_var είναι μια αναφορά σε ένα . Όταν η αξία του ένα αλλάζει, η τιμή του ref_var αλλάζει επίσης, επειδή και τα δύο αναφέρονται στην ίδια τιμή.

Βασικές διακρίσεις int και int& στη γλώσσα C++

Ο παρακάτω πίνακας θα εξηγήσει ορισμένες γενικές διαφορές μεταξύ του int και του int&:

ενθ int&
Ένας τύπος δεδομένων που είναι πρωτόγονος και έχει αριθμητική τιμή είναι int. Το int& είναι ένα σημείο πρόσβασης σε μια αριθμητική μεταβλητή που χρησιμεύει ως ψευδώνυμο για την πραγματική μεταβλητή.
Η χρήση του int αλληλεπιδρά με την πραγματική τιμή της μεταβλητής. Το Int& είναι ένα ψευδώνυμο για έναν ακέραιο που μπορεί να εφαρμοστεί για την αλλαγή της πραγματικής μεταβλητής.
Μια μεταβλητή τύπου int παίρνει μια νέα εκχώρηση μνήμης. Ένα int& δεν εκχωρεί νέα μνήμη, καθώς χρησιμοποιεί την υπάρχουσα μεταβλητή μνήμη.
Το εύρος και η διάρκεια των ακέραιων μεταβλητών είναι ανεξάρτητα. Το εύρος και η διάρκεια του int& δεν προσδιορίζονται. Πραγματοποιούνται μόνο όταν εμφανίζεται η μεταβλητή αναφοράς int στην οποία αναφέρονται.

συμπέρασμα

Όπως και άλλες γλώσσες προγραμματισμού, η C++ παρέχει επίσης πολλές λειτουργίες που έχουν ήδη καθοριστεί στον διερμηνέα C++. Ένας από τους δημοφιλείς τύπους δεδομένων είναι ο ενθ τύπος δεδομένων που δέχεται ακέραια δεδομένα και int& είναι μια αναφορά μεταβλητής int που κάνει άμεσες αλλαγές σε ενθ μεταβλητές. Η κύρια διαφορά μεταξύ ενθ και int& Το is int δηλώνει μια νέα μεταβλητή, ενώ int& είναι μια μεταβλητή αναφοράς που κάνει αλλαγές στις δηλωμένες μεταβλητές του ενθ τύπος.