Πώς να επιστρέψετε έναν δείκτη από συναρτήσεις στη C++

Pos Na Epistrepsete Enan Deikte Apo Synarteseis Ste C



Στη C++ η συνάρτηση είναι το μπλοκ ενός κώδικα που εισάγεται για να εκτελέσει κάποια συνάρτηση και οι δείκτες χρησιμοποιούνται για να υποδείξουν τις μεταβλητές στη συνάρτηση. Οι δείκτες αντιστοιχίζονται με τη διεύθυνση.

Πώς να επιστρέψετε έναν δείκτη από συναρτήσεις στη C++

Στη C++ είναι δυνατή η επιστροφή ενός δείκτη από μια συνάρτηση. Αυτό μπορεί να επιτευχθεί δηλώνοντας μια συνάρτηση τύπου επιστροφής ως δείκτη σε αυτήν τη συνάρτηση. Κάθε συνάρτηση που δημιουργείται παίρνει μια καθορισμένη διεύθυνση στη μνήμη. Ο αστερίσκος * εισάγεται στα αριστερά του ονόματος της συνάρτησης.







Σύνταξη

Αυτή είναι μια σύνταξη για την επιστροφή ενός δείκτη από μια συνάρτηση στη C++:



ΕΠΙΣΤΡΟΦΗ τύπος ( * function_pointer_name ) ( επιχείρημα_τύπος_1, επιχείρημα_τύπος_2, ……, επιχείρημα_τύπος_n ) = όνομα_λειτουργίας ;

Παράδειγμα 1

Αυτό το παράδειγμα απεικονίζει την επιστροφή ενός δείκτη από μια συνάρτηση στη C++:



#include

χρησιμοποιώντας χώρο ονομάτων std ;

κενός αποτέλεσμα ( ενθ & ένα )

{

ένα + = 10 ;

}

ενθ κύριος ( )

{

ενθ Χ = 40 ;

Ο //δείκτης επιστρέφει από τη συνάρτηση

κενός ( * πτρ ) ( ενθ & ) = & αποτέλεσμα ;

πτρ ( Χ ) ;

cout << Χ << endl ;

ΕΠΙΣΤΡΟΦΗ 0 ;

}

Σε αυτόν τον πηγαίο κώδικα, δηλώνεται μια συνάρτηση κενού αποτελέσματος και παίρνει την αναφορά στο int a που αυξάνεται 10 φορές. Μια μεταβλητή x αποθηκεύει την τιμή 40 και το *ptr δείχνει τη συνάρτηση int&. Καθώς το ptr δείχνει στο αποτέλεσμα, έτσι το x αυξάνεται κατά 10.





Η τιμή της εισόδου x αυξάνεται κατά 10 και επιστρέφεται κατά 50.



Παράδειγμα 2

Αυτό είναι ένα παράδειγμα που υπολογίζει τον εβδομαδιαίο μισθό των εργαζομένων:

#include

χρησιμοποιώντας χώρο ονομάτων std ;

διπλό & GetWeeklyHours ( )

{

διπλό η = 32,65 ;

διπλό & ώρες = η ;

ΕΠΙΣΤΡΟΦΗ ώρες ;

}

διπλό * Πάρε Μισθό ( )

{

διπλό Μισθός = 42,48 ;

διπλό * Ωριομισθός = & Μισθός ;

ΕΠΙΣΤΡΟΦΗ Ωριομισθός ;

}

ενθ κύριος ( )

{

διπλό ώρες = GetWeeklyHours ( ) ;

διπλό Μισθός = * Πάρε Μισθό ( ) ;

cout << 'Εβδομαδιαίες ώρες των εργαζομένων: ' << ώρες << endl ;

cout << 'Ωρομίσθιο των εργαζομένων: ' << Μισθός << endl ;

διπλό Εβδομαδιαίος μισθός = ώρες * Μισθός ;

cout << «Εβδομαδιαίος μισθός των εργαζομένων:» << Εβδομαδιαίος μισθός << endl ;

ΕΠΙΣΤΡΟΦΗ 0 ;

}

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

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

συμπέρασμα

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