Key Difference – out vs ref στο C
Η C είναι μια σύγχρονη γλώσσα προγραμματισμού που αναπτύχθηκε από τη Microsoft. Χρησιμοποιείται για την ανάπτυξη διαφόρων εφαρμογών για επιτραπέζιους υπολογιστές, web και κινητά. Οι συναρτήσεις ή οι μέθοδοι είναι μια έννοια στον προγραμματισμό. Αυτή η ομάδα εντολών που χρησιμοποιούνται για την εκτέλεση μιας συγκεκριμένης εργασίας είναι γνωστή ως συνάρτηση ή μέθοδος. Στα προγράμματα C, η εκτέλεση ξεκινά από το main (). Είναι ένα παράδειγμα μεθόδου. Κατά την κλήση μιας μεθόδου, τα δεδομένα μεταβιβάζονται στη μέθοδο ή λαμβάνονται από τη μέθοδο. Η μέθοδος που καλεί τη νέα μέθοδο είναι γνωστή ως κλήση της μεθόδου. Η νέα μέθοδος είναι γνωστή ως η καλούμενη μέθοδος. Για τη διαχείριση των τιμών μετάδοσης και την επιστροφή του αποτελέσματος, το C χρησιμοποιεί παραμέτρους. Είναι παράμετροι αποτίμησης, παράμετροι εξόδου και παράμετροι αναφοράς. Οι παράμετροι τιμής χρησιμοποιούνται για τη μεταβίβαση παραμέτρων στη μέθοδο ανά τιμή. Οι παράμετροι αναφοράς χρησιμοποιούνται για τη μετάδοση παραμέτρων στη μέθοδο με αναφορά. Οι παράμετροι εξόδου χρησιμοποιούνται για την επιστροφή του αποτελέσματος από τη μέθοδο. Στη C, η λέξη-κλειδί out χρησιμοποιείται για τις παραμέτρους εξόδου και η λέξη-κλειδί ref χρησιμοποιείται για την αναφορά παραμέτρων. Η βασική διαφορά μεταξύ out και ref στο C είναι ότι, out είναι μια λέξη-κλειδί που χρησιμοποιείται για την αναφορά μιας παραμέτρου εξόδου που χρησιμοποιείται για τη μετάδοση αποτελεσμάτων από την καλούμενη μέθοδο στη μέθοδο κλήσης, ενώ η ref είναι μια λέξη-κλειδί για την αναφορά μιας παραμέτρου αναφοράς που χρησιμοποιείται για τη μετάδοση δεδομένα από μέθοδο κλήσης σε μέθοδο κλήσης και λήψη δεδομένων από την καλούμενη μέθοδο σε μέθοδο κλήσης.
Τι κυκλοφορεί στο C;
Η σύνταξη για τη συνάρτηση ή μια μέθοδο είναι η εξής. Μια μέθοδος έχει έναν αριθμό στοιχείων, όπως όνομα μεθόδου, λίστα παραμέτρων, τύπο επιστροφής και προσδιοριστή πρόσβασης.
(λίστα παραμέτρων)
{ //δηλώσεις προς εκτέλεση
}
Κάθε μέθοδος έχει μια μοναδική μέθοδο για την πραγματοποίηση της κλήσης συνάρτησης. Οι εκτελέσιμες εντολές βρίσκονται μέσα σε σγουρές αγκύλες. Ο τύπος επιστροφής εξηγεί εάν η συνάρτηση επιστρέφει μια τιμή ή όχι. Όταν δεν υπάρχει τύπος επιστροφής, ονομάζεται void. Ο προσδιοριστής πρόσβασης χρησιμοποιείται για τον καθορισμό της προσβασιμότητας της μεθόδου στην εφαρμογή. Οι παράμετροι χρησιμοποιούνται για τη λήψη ή τη μετάδοση δεδομένων στη μέθοδο. Μπορεί επίσης να υπάρχουν μέθοδοι χωρίς παραμέτρους. Οι παράμετροι μπορούν να είναι αποτιμημένες παράμετροι, παράμετροι εξόδου ή παράμετροι αναφοράς.
Οι παράμετροι εξόδου χρησιμοποιούνται για την επιστροφή των αποτελεσμάτων στη μέθοδο κλήσης. Για αυτό, η παράμετρος θα πρέπει να δηλωθεί με τη λέξη-κλειδί έξω. Η παράμετρος εξόδου δεν δημιουργεί νέα θέση αποθήκευσης. Γενικά, μια μέθοδος επιστρέφει μία τιμή. Αλλά στη C, είναι δυνατό να επιστρέψετε δύο τιμές από μια συνάρτηση χρησιμοποιώντας παραμέτρους εξόδου. Ανατρέξτε στο παρακάτω πρόγραμμα.
namespace application1{
υπολογισμός δημόσιας τάξης{
δημόσια εμφάνιση κενού (έξω int a, out int b){
int value=5;
a=τιμή;
b=τιμή;
a=a a;
b=bb;
}
public static void main(String args){
int value1=10, value2=20;
Υπολογισμός cal=νέος Υπολογισμός();
cal.display(out value1, out value2);
Console. ReadLine();
}
}
}
Η συνάρτηση εμφάνισης καλείται από την κύρια μέθοδο. Η τιμή1 και η τιμή δύο έχουν 10 και 20, αλλά δεν λαμβάνονται υπόψη στη μέθοδο. Η τιμή του a είναι 25 και η τιμή του b είναι επίσης 25 στη συνάρτηση. Επομένως, αυτές οι τιμές επιστρέφονται. Κατά την εκτύπωση της τιμής 1 και της τιμής 2, δεν θα δώσει 10 και 20. Αντίθετα, θα εκτυπωθούν 25 και 25. Χρησιμοποιώντας τη λέξη-κλειδί out μπορούν να επιστραφούν πολλαπλές τιμές από τη μέθοδο.
Τι είναι το ref στο C;
Όταν μεταβιβάζονται οι παράμετροι ανά τιμή, δημιουργείται μια νέα θέση αποθήκευσης για κάθε παράμετρο. Οι πραγματικές παράμετροι που στάλθηκαν από το κύριο πρόγραμμα δεν αλλάζουν. Αντίθετα, αυτές οι τιμές αντιγράφονται σε ξεχωριστή τοποθεσία. Αυτά τα νέα αντίγραφα μεταβλητών ονομάζονται επίσημες παράμετροι. Ανατρέξτε στον παρακάτω κωδικό.
namespace application1{
υπολογισμός δημόσιας τάξης{
ανταλλαγή δημόσιου κενού(int x, int y){
int temp;
temp=x;
x=y;
y=θερμοκρασία;
}
public static void main(String args){
Υπολογισμός cal=νέος Υπολογισμός();
int p=2;
int q=3;
cal.swap(p, q);
Console. WriteLine(p);
Console. WriteLine(q);
Console. ReadLine();
}
}
}
Σύμφωνα με το παραπάνω πρόγραμμα, η κλάση Υπολογισμός έχει μια μέθοδο εναλλαγής (). Στο κύριο πρόγραμμα δημιουργείται ένα αντικείμενο τύπου Υπολογισμός. Υπάρχουν δύο τιμές όπως το p και το q. Η μεταβλητή p έχει τιμή 2 και η μεταβλητή q έχει τιμή 3. Αυτές οι δύο τιμές μεταβιβάζονται στη μέθοδο swap. Στη μέθοδο swap, η τιμή 2 αντιγράφεται στη μεταβλητή x και η τιμή 3 αντιγράφεται στη μεταβλητή y. Χρησιμοποιώντας τη μεταβλητή temp, οι τιμές ανταλλάσσονται. Πίσω στο κύριο πρόγραμμα, κατά την εκτύπωση p και q, οι τιμές δεν εναλλάσσονται. Η τιμή p εξακολουθεί να είναι 2 και η τιμή q είναι 3. Ακόμη και στη μέθοδο swap, οι τιμές εναλλάσσονται αλλά δεν αντικατοπτρίζονται στο κύριο πρόγραμμα.
Σε αντίθεση με τη διαβίβαση τιμών όπως παραπάνω, είναι δυνατή η μεταβίβαση παραμέτρων με αναφορά. Μια μεταβλητή αναφοράς είναι μια αναφορά στη θέση μνήμης. Δεν έχει δημιουργηθεί νέα θέση μνήμης. Οι αλλαγές στη μέθοδο αντικατοπτρίζονται στο στο κύριο πρόγραμμα. Στη C, οι παράμετροι αναφοράς αναφέρονται χρησιμοποιώντας τη λέξη-κλειδί ref. Ανατρέξτε στο παρακάτω πρόγραμμα.
namespace application1{
υπολογισμός δημόσιας τάξης{
ανταλλαγή δημόσιου κενού(αναφορά int x, ref int y){
int temp;
temp=x;
x=y;
y=θερμοκρασία;
}
public static void main(String args){
Υπολογισμός cal=νέος Υπολογισμός();
int p=2;
int q=3;
cal.swap(ref p, ref q);
Console. WriteLine(p);
Console. WriteLine(q);
Console. ReadLine();
}
}
}
Σύμφωνα με το παραπάνω πρόγραμμα, η κλάση Υπολογισμός έχει τη μέθοδο swap. Στο κύριο πρόγραμμα δημιουργείται ένα αντικείμενο τύπου Υπολογισμός. Είναι δύο μεταβλητές όπως η p και η q. Η μεταβλητή p έχει την τιμή 2 και η μεταβλητή q την τιμή 3. Αντί να μεταβιβάζει τιμές, η αναφορά στις θέσεις μνήμης των p και q μεταβιβάζεται στη μέθοδο. Αυτές οι μεταβλητές αναφοράς αναφέρονται χρησιμοποιώντας την αναφ. Στη μέθοδο swap, αντί να αντιμετωπίζονται οι τιμές σε μια νέα θέση, οι αλλαγές γίνονται στις πραγματικές παραμέτρους. Κατά την εκτύπωση των τιμών p και q του κύριου προγράμματος, θα δώσει τις εναλλασσόμενες τιμές. Τώρα η τιμή p είναι 3 και η τιμή q είναι 2.
Ποια είναι η ομοιότητα μεταξύ out και ref στο C;
Και οι δύο είναι λέξεις-κλειδιά που χρησιμοποιούνται για την αναφορά των παραμέτρων μιας μεθόδου
Ποια είναι η διαφορά μεταξύ του out και του ref στο C;
out vs ref στο C |
|
Το out είναι μια λέξη-κλειδί στο C που χρησιμοποιείται για την αναφορά μιας παραμέτρου εξόδου. Χρησιμοποιείται για τη μετάδοση των αποτελεσμάτων από μια καλούμενη μέθοδο στην κλήση της μεθόδου. | Η αναφορά είναι μια λέξη-κλειδί στο C που χρησιμοποιείται για την αναφορά μιας παραμέτρου αναφοράς. Χρησιμοποιείται για τη μετάδοση δεδομένων από τη μέθοδο κλήσης στην καλούμενη μέθοδο και για την επιστροφή δεδομένων από την καλούμενη μέθοδο στη μέθοδο κλήσης. |
Λειτουργικότητα | |
Όταν χρησιμοποιείτε τη λέξη-κλειδί εξόδου, τα δεδομένα μπορούν να μεταβιβαστούν από τη μέθοδο κλήσης στη μέθοδο κλήσης. Αλλά αυτά τα δεδομένα απορρίπτονται. Χρησιμοποιείται για τη μετάδοση του αποτελέσματος στη μέθοδο κλήσης από την καλούμενη μέθοδο. | Όταν χρησιμοποιείτε τη λέξη-κλειδί ref, τα δεδομένα μεταβιβάζονται από τη μέθοδο κλήσης στη μέθοδο κλήσης και τα δεδομένα που έχουν υποστεί χειραγώγηση μεταφέρονται πίσω στη μέθοδο κλήσης. |
Διαβίβαση δεδομένων | |
Όταν χρησιμοποιείτε τη λέξη-κλειδί εξόδου, τα δεδομένα διαβιβάζονται με έναν τρόπο που είναι μια καλούμενη μέθοδος στη μέθοδο κλήσης. | Όταν χρησιμοποιείται η λέξη-κλειδί ref, τα δεδομένα μεταβιβάζονται με δύο τρόπους, από τη μέθοδο κλήσης στη μέθοδο κλήσης και από τη μέθοδο κλήσης στη μέθοδο κλήσης. |
Summary – out vs ref στο C
Κατά την κλήση μιας μεθόδου, μπορεί να είναι απαραίτητο να μεταβιβαστούν οι τιμές στη μέθοδο και να ανακτηθούν τα αποτελέσματα από τη μέθοδο. Το C έχει διαφορετικές παραμέτρους για να το πετύχει αυτό. Οι παράμετροι τιμής χρησιμοποιούνται για τη μεταβίβαση παραμέτρων στη μέθοδο ανά τιμή. Οι παράμετροι αναφοράς χρησιμοποιούνται για τη μετάδοση παραμέτρων στη μέθοδο με αναφορά. Οι παράμετροι εξόδου χρησιμοποιούνται για την επιστροφή του αποτελέσματος από τη μέθοδο. Στη C, η λέξη-κλειδί out χρησιμοποιείται για τις παραμέτρους εξόδου και η λέξη-κλειδί ref χρησιμοποιείται για την αναφορά παραμέτρων. Η διαφορά μεταξύ out και ref στο C είναι ότι, out είναι μια λέξη-κλειδί που χρησιμοποιείται για την αναφορά μιας παραμέτρου εξόδου που χρησιμοποιείται για τη μετάδοση αποτελεσμάτων από την καλούμενη μέθοδο στη μέθοδο κλήσης, ενώ η ref είναι μια λέξη-κλειδί για την αναφορά μιας παραμέτρου αναφοράς που χρησιμοποιείται για τη μετάδοση δεδομένων από μέθοδος κλήσης σε καλούμενη μέθοδο και λήψη δεδομένων από την καλούμενη μέθοδο σε μέθοδο κλήσης.
Κατεβάστε το PDF του out vs ref σε C
Μπορείτε να κατεβάσετε την έκδοση PDF αυτού του άρθρου και να τη χρησιμοποιήσετε για σκοπούς εκτός σύνδεσης σύμφωνα με τη σημείωση παραπομπής. Κατεβάστε την έκδοση PDF εδώ: Διαφορά μεταξύ Out και Ref στο C