functions c with types examples
Τύποι λειτουργιών στο C ++ μαζί με τις χρήσεις τους.
Στα προηγούμενα μαθήματά μας μέχρι τώρα, έχουμε δει τις διάφορες έννοιες στο C ++ όπως μεταβλητές, τάξεις αποθήκευσης, τελεστές, πίνακες, συμβολοσειρές κ.λπ.
Σε αυτό το σεμινάριο, θα προχωρήσουμε και θα συζητήσουμε την έννοια των συναρτήσεων. Οι συναρτήσεις ονομάζονται επίσης μέθοδοι, υπορουτίνες ή διαδικασίες.
=> Διαβάστε εδώ την Εκτεταμένη Εκπαιδευτική Σειρά Εκπαιδευτικών Σειρών Εδώ.
Τι θα μάθετε:
- Πώς ορίζουμε μια λειτουργία;
- Τύποι λειτουργιών στο C ++
- Δήλωση λειτουργίας
- Ορισμός λειτουργίας
- Κλήση μιας λειτουργίας
- Τυπικές και πραγματικές παράμετροι
- Επιστροφή τιμών
- Άκυρες λειτουργίες
- Μεταβίβαση παραμέτρων σε λειτουργίες
- Προεπιλεγμένες παράμετροι
- Παράμετροι Const
- Ενσωματωμένες λειτουργίες
- Χρήση δομών σε συναρτήσεις
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Πώς ορίζουμε μια λειτουργία;
Η συνάρτηση είναι ένα σύνολο δηλώσεων που συγκεντρώνονται για την εκτέλεση μιας συγκεκριμένης εργασίας. Μπορεί να είναι δηλώσεις που εκτελούν μερικές επαναλαμβανόμενες εργασίες ή δηλώσεις που εκτελούν ορισμένες εξειδικευμένες εργασίες, όπως εκτύπωση κ.λπ.
Μία χρήση των λειτουργιών είναι η απλοποίηση του κώδικα, χωρίζοντάς τον σε μικρότερες μονάδες που ονομάζονται συναρτήσεις. Μια άλλη ιδέα πίσω από τη χρήση λειτουργιών είναι ότι μας σώζει από το να γράφουμε τον ίδιο κώδικα ξανά και ξανά. Απλώς πρέπει να γράψουμε μία συνάρτηση και στη συνέχεια να την καλέσουμε όπως και όταν είναι απαραίτητο χωρίς να χρειάζεται να γράφουμε ξανά το ίδιο σύνολο δηλώσεων.
Τύποι λειτουργιών στο C ++
Στο C ++, έχουμε δύο τύπους λειτουργιών όπως φαίνεται παρακάτω.
Ενσωματωμένες λειτουργίες
Οι ενσωματωμένες συναρτήσεις ονομάζονται επίσης λειτουργίες βιβλιοθήκης. Αυτές είναι οι συναρτήσεις που παρέχονται από το C ++ και δεν χρειάζεται να τις γράφουμε οι ίδιοι. Μπορούμε να χρησιμοποιήσουμε απευθείας αυτές τις λειτουργίες στον κώδικά μας.
Αυτές οι συναρτήσεις τοποθετούνται στα αρχεία κεφαλίδας του C ++. Για παράδειγμα , είναι οι κεφαλίδες που έχουν ενσωματωμένες συναρτήσεις μαθηματικών και συναρτήσεις συμβολοσειράς αντίστοιχα.
Ας δούμε ένα παράδειγμα χρήσης ενσωματωμένων συναρτήσεων σε ένα πρόγραμμα.
#include #include using namespace std; int main() { string name; cout << 'Enter the input string:'; getline (std::cin, name); cout << 'String entered: ' << name << '!
'; int size = name.size(); cout<<'Size of string : '< Παραγωγή:
εισαγωγή αλγορίθμου ταξινόμησης c ++
Εισαγάγετε τη συμβολοσειρά εισόδου: Βοήθεια δοκιμής λογισμικού
Έγινε εισαγωγή συμβολοσειράς: Βοήθεια δοκιμής λογισμικού!
Μέγεθος συμβολοσειράς: 21
Εδώ χρησιμοποιούμε τις κεφαλίδες και. Οι τύποι δεδομένων και άλλες λειτουργίες εισόδου / εξόδου ορίζονται στη βιβλιοθήκη. Οι λειτουργίες συμβολοσειράς που χρησιμοποιούνται όπως το getline, το μέγεθος είναι μέρος της κεφαλίδας.
Λειτουργίες που καθορίζονται από το χρήστη
Το C ++ επιτρέπει επίσης στους χρήστες του να καθορίζουν τις δικές τους λειτουργίες. Αυτές είναι οι λειτουργίες που ορίζονται από το χρήστη. Μπορούμε να καθορίσουμε τις λειτουργίες οπουδήποτε στο πρόγραμμα και μετά να καλέσουμε αυτές τις λειτουργίες από οποιοδήποτε μέρος του κώδικα. Ακριβώς όπως οι μεταβλητές, πρέπει να δηλωθούν πριν από τη χρήση, οι συναρτήσεις πρέπει επίσης να δηλωθούν πριν από την κλήση.
Ας συζητήσουμε λεπτομερώς τις λειτουργίες που καθορίζονται από τον χρήστη.
Η γενική σύνταξη για συναρτήσεις που καθορίζονται από τον χρήστη (ή απλά συναρτήσεις) είναι η ακόλουθη:
return_type functionName(param1,param2,….param3) { Function body; }
Έτσι, όπως φαίνεται παραπάνω, κάθε συνάρτηση έχει:
- Τύπος επιστροφής: Είναι η τιμή που οι συναρτήσεις επιστρέφουν στη λειτουργία κλήσης μετά την εκτέλεση μιας συγκεκριμένης εργασίας.
- functionName : Αναγνωριστικό που χρησιμοποιείται για να ονομάσει μια συνάρτηση.
- Λίστα παραμέτρων: Με την ένδειξη param1, param2,… paramn στην παραπάνω σύνταξη. Αυτά είναι τα ορίσματα που μεταβιβάζονται στη συνάρτηση όταν πραγματοποιείται μια κλήση συνάρτησης. Η λίστα παραμέτρων είναι προαιρετική, δηλαδή μπορούμε να έχουμε συναρτήσεις που δεν έχουν παραμέτρους.
- Σώμα λειτουργίας: Μια ομάδα δηλώσεων που εκτελούν μια συγκεκριμένη εργασία.
Όπως ήδη αναφέρθηκε, πρέπει να «δηλώσουμε» μια συνάρτηση πριν τη χρησιμοποιήσουμε.
Δήλωση λειτουργίας
Μια δήλωση συνάρτησης ενημερώνει τον μεταγλωττιστή σχετικά με τον τύπο επιστροφής της συνάρτησης, τον αριθμό των παραμέτρων που χρησιμοποιούνται από τη συνάρτηση και τους τύπους δεδομένων της. Συμπεριλαμβανομένων των ονομάτων των παραμέτρων στη συνάρτηση, η δήλωση είναι προαιρετική. Η δήλωση συνάρτησης καλείται επίσης ως πρωτότυπο συνάρτησης.
Έχουμε δώσει μερικά παραδείγματα της δήλωσης λειτουργίας παρακάτω για αναφορά σας.
int sum(int, int);
Η παραπάνω δήλωση έχει μια συνάρτηση «άθροισμα» που παίρνει δύο ακέραιους αριθμούς ως παραμέτρους και επιστρέφει μια ακέραια τιμή.
void swap(int, int);
Αυτό σημαίνει ότι η συνάρτηση ανταλλαγής λαμβάνει δύο παραμέτρους τύπου int και δεν επιστρέφει καμία τιμή και ως εκ τούτου ο τύπος επιστροφής είναι άκυρος.
void display();
Η οθόνη λειτουργίας δεν λαμβάνει παραμέτρους και επίσης δεν επιστρέφει κανένα τύπο.
Ορισμός λειτουργίας
Ο ορισμός συνάρτησης περιέχει όλα όσα περιέχει μια δήλωση συνάρτησης και επιπλέον περιέχει επίσης το σώμα της συνάρτησης που περικλείεται σε αγκύλες ({}).
Επιπλέον, θα πρέπει επίσης να έχει ονομασμένες παραμέτρους. Όταν καλείται η συνάρτηση, ο έλεγχος του προγράμματος περνά στον ορισμό της συνάρτησης έτσι ώστε να μπορεί να εκτελεστεί ο κωδικός λειτουργίας. Όταν ολοκληρωθεί η εκτέλεση της συνάρτησης, το στοιχείο ελέγχου επιστρέφει στο σημείο όπου κλήθηκε η συνάρτηση.
Για την παραπάνω δήλωση της λειτουργίας ανταλλαγής, ο ορισμός έχει ως εξής:
void swap(int a, int b){ b = a + b; a = b - a; b = b - a; }
Σημειώστε ότι η δήλωση και ο ορισμός μιας συνάρτησης μπορούν να πάνε μαζί. Εάν ορίσουμε μια συνάρτηση πριν την αναφέρουμε, τότε δεν υπάρχει ανάγκη για ξεχωριστή δήλωση.
Ας πάρουμε ένα πλήρες παράδειγμα προγραμματισμού για να δείξουμε μια συνάρτηση.
#include using namespace std; void swap(int a, int b) { //here a and b are formal parameters b = a + b; a = b - a; b = b - a; cout<<'
After swapping: '; cout<<'a = '< Κλήση μιας λειτουργίας Όταν έχουμε μια λειτουργία στο πρόγραμμά μας, τότε ανάλογα με την απαίτηση πρέπει να καλέσουμε ή να καλέσουμε αυτήν τη λειτουργία. Μόνο όταν η συνάρτηση καλείται ή καλείται, η συνάρτηση θα εκτελέσει το σύνολο των δηλώσεών της για να παρέχει τα επιθυμητά αποτελέσματα.
Η λειτουργία μπορεί να κληθεί από οπουδήποτε στο πρόγραμμα. Μπορεί να κληθεί από την κύρια λειτουργία ή από οποιαδήποτε άλλη λειτουργία εάν το πρόγραμμα χρησιμοποιεί περισσότερες από μία λειτουργίες. Η συνάρτηση που καλεί άλλη συνάρτηση ονομάζεται «Λειτουργία κλήσης».
Στο παραπάνω παράδειγμα ανταλλαγής αριθμών, η συνάρτηση ανταλλαγής καλείται στην κύρια συνάρτηση. Εξ ου και η κύρια λειτουργία γίνεται η λειτουργία κλήσης.
Τυπικές και πραγματικές παράμετροι
Έχουμε ήδη δει ότι μπορούμε να έχουμε παραμέτρους για τις συναρτήσεις. Οι παράμετροι συνάρτησης παρέχονται στον ορισμό της συνάρτησης ως λίστα παραμέτρων που ακολουθεί το όνομα της συνάρτησης. Όταν καλείται η συνάρτηση, πρέπει να περάσουμε τις πραγματικές τιμές αυτών των παραμέτρων έτσι ώστε χρησιμοποιώντας αυτές τις πραγματικές τιμές η συνάρτηση μπορεί να εκτελέσει την αποστολή της.
Οι παράμετροι που ορίζονται στον ορισμό της συνάρτησης καλούνται Επίσημες παράμετροι . Οι παράμετροι στην κλήση συνάρτησης που είναι οι πραγματικές τιμές καλούνται Πραγματικές παράμετροι
Στο παραπάνω παράδειγμα ανταλλαγής αριθμών, έχουμε γράψει τα σχόλια για τυπικές και πραγματικές παραμέτρους. Στη συνάρτηση κλήσης, δηλ. Κύρια, η τιμή των δύο ακέραιων διαβάζεται και μεταβιβάζεται στη λειτουργία ανταλλαγής. Αυτές είναι οι πραγματικές παράμετροι.
Μπορούμε να δούμε τους ορισμούς αυτών των παραμέτρων στην πρώτη γραμμή του ορισμού της συνάρτησης. Αυτές είναι οι τυπικές παράμετροι.
Σημειώστε ότι ο τύπος των τυπικών και των πραγματικών επιχειρημάτων πρέπει να ταιριάζει. Η σειρά τυπικών και πραγματικών παραμέτρων πρέπει επίσης να ταιριάζει.
Επιστροφή τιμών
Μόλις η συνάρτηση εκτελέσει την προβλεπόμενη εργασία της, θα πρέπει να επιστρέψει το αποτέλεσμα στη λειτουργία κλήσης. Για αυτό, χρειαζόμαστε τον τύπο επιστροφής της συνάρτησης. Η συνάρτηση μπορεί να επιστρέψει μία μόνο τιμή στη λειτουργία κλήσης. Ο τύπος επιστροφής της συνάρτησης δηλώνεται μαζί με το πρωτότυπο της συνάρτησης.
Ας πάρουμε ένα παράδειγμα προσθήκης δύο αριθμών για να δείξουμε τους τύπους επιστροφής.
#include using namespace std; int sum(int a, int b){ return (a+b); } int main() { int a, b, result; cout<>a>>b; result = sum(a,b); cout<<'
Sum of the two numbers : '< Παραγωγή:
Εισαγάγετε τους δύο αριθμούς που θα προστεθούν: 11 11
Άθροισμα των δύο αριθμών: 22
Στο παραπάνω παράδειγμα, έχουμε ένα άθροισμα συνάρτησης που παίρνει δύο ακέραιες παραμέτρους και επιστρέφει έναν ακέραιο τύπο. Στην κύρια συνάρτηση, διαβάζουμε δύο ακέραιους αριθμούς από την είσοδο της κονσόλας και τις μεταδίδουμε στη συνάρτηση αθροίσματος. Καθώς ο τύπος επιστροφής είναι ακέραιος, έχουμε μια μεταβλητή αποτελέσματος στο LHS και το RHS είναι μια κλήση συνάρτησης.
Όταν εκτελείται μια συνάρτηση, η έκφραση (a + b) που επιστρέφεται από το άθροισμα της συνάρτησης αντιστοιχεί στη μεταβλητή αποτελέσματος. Αυτό δείχνει πώς χρησιμοποιείται η τιμή επιστροφής της συνάρτησης.
Άκυρες λειτουργίες
Έχουμε δει ότι η γενική σύνταξη της συνάρτησης απαιτεί τον καθορισμό ενός τύπου επιστροφής. Αλλά αν σε περίπτωση που έχουμε μια τέτοια λειτουργία που δεν επιστρέφει καμία τιμή, σε αυτήν την περίπτωση, τι θα ορίσουμε ως τύπο επιστροφής; Η απάντηση είναι ότι χρησιμοποιούμε τον τύπο 'void' χωρίς αξία για να δείξουμε ότι η συνάρτηση δεν επιστρέφει μια τιμή.
Σε μια τέτοια περίπτωση η συνάρτηση ονομάζεται «λειτουργία άκυρου» και το πρωτότυπό της θα μοιάζει
void functionName (param1, param2,… .param 3);
Σημείωση : Θεωρείται καλή πρακτική να συμπεριλαμβάνεται μια δήλωση «επιστροφή». στο τέλος της κενής λειτουργίας για σαφήνεια.
Μεταβίβαση παραμέτρων σε λειτουργίες
Έχουμε ήδη δει την έννοια των πραγματικών και τυπικών παραμέτρων. Γνωρίζουμε επίσης ότι οι πραγματικές παράμετροι μεταβιβάζουν τιμές σε μια συνάρτηση που λαμβάνεται από τις παραμέτρους μορφής. Αυτό ονομάζεται μετάβαση παραμέτρων.
Στο C ++, έχουμε συγκεκριμένους τρόπους για να περάσουμε τις παραμέτρους όπως συζητείται παρακάτω.
Περάστε από την τιμή
Στο πρόγραμμα ανταλλαγής δύο ακεραίων που συζητήσαμε νωρίτερα, είδαμε ότι διαβάσαμε απλώς τους ακέραιους αριθμούς «a» και «b» κυρίως και τους περάσαμε στη λειτουργία ανταλλαγής. Αυτή είναι η τεχνική pass by value.
Στην τεχνική pass by by της παραμέτρου, τα αντίγραφα των τιμών των πραγματικών παραμέτρων μεταδίδονται στις τυπικές παραμέτρους. Λόγω αυτού, οι πραγματικές και τυπικές παράμετροι αποθηκεύονται σε διαφορετικές θέσεις μνήμης. Έτσι, οι αλλαγές που έγιναν σε τυπικές παραμέτρους εντός της συνάρτησης δεν αντικατοπτρίζονται εκτός της συνάρτησης.
Μπορούμε να το καταλάβουμε καλύτερα με μια ακόμη φορά να επισκεφθούμε την ανταλλαγή δύο αριθμών.
#include using namespace std; void swap(int a, int b) { //here a and b are formal parameters b = a + b; a = b - a; b = b - a; cout<<'
After swapping inside Swap:
'; cout<<'a = '< Περάστε με αναφορά Το πέρασμα με αναφορά είναι μια ακόμη τεχνική που χρησιμοποιείται από το C ++ για τη μετάδοση παραμέτρων σε συναρτήσεις. Σε αυτήν την τεχνική, αντί να διαβιβάζουμε αντίγραφα των πραγματικών παραμέτρων, διαβιβάζουμε αναφορές σε πραγματικές παραμέτρους.
ερωτήσεις και απαντήσεις συνέντευξης δοκιμής αυτοματισμού
Σημείωση: Οι αναφορές δεν είναι παρά ψευδώνυμα μεταβλητών ή με απλές λέξεις, είναι ένα άλλο όνομα που δίνεται σε μια μεταβλητή. Εξ ου και μια μεταβλητή και η αναφορά της μοιράζονται την ίδια θέση μνήμης. Θα μάθουμε αναφορές λεπτομερώς στο επόμενο σεμινάριό μας.
Κατά τη χρήση της τεχνικής αναφοράς, χρησιμοποιούμε αυτές τις αναφορές πραγματικών παραμέτρων και ως αποτέλεσμα, οι αλλαγές που έγιναν σε τυπικές παραμέτρους στη συνάρτηση αντικατοπτρίζονται στη λειτουργία κλήσης.
Τροποποιούμε τη λειτουργία ανταλλαγής για να κατανοήσουν καλύτερα οι αναγνώστες μας την έννοια.
#include #include using namespace std; void swap(int &a, int &b){ int temp = a; a = b; b = temp; } int main() { int a,b; cout<>a>>b; cout<<'a = '< Περάστε από τον δείκτη Στο C ++, μπορούμε επίσης να περάσουμε παραμέτρους για να λειτουργήσουμε χρησιμοποιώντας μεταβλητές δείκτη. Η τεχνική pass by pointer παράγει τα ίδια αποτελέσματα με εκείνη της pass by αναφοράς. Αυτό σημαίνει ότι τόσο οι τυπικές όσο και οι πραγματικές παράμετροι μοιράζονται τις ίδιες θέσεις μνήμης και οι αλλαγές που γίνονται στη λειτουργία αντικατοπτρίζονται στη λειτουργία κλήσης.
Η μόνη διαφορά ότι σε ένα πέρασμα με αναφορά ασχολούμαστε με αναφορές ή ψευδώνυμα παραμέτρων ενώ σε μια τεχνική μεταβίβασης δείκτη χρησιμοποιούμε μεταβλητές δείκτη για να περάσουμε τις παραμέτρους.
Οι μεταβλητές δείκτη διαφέρουν με τις αναφορές στις οποίες οι μεταβλητές δείκτη δείχνουν μια συγκεκριμένη μεταβλητή και σε αντίθεση με τις αναφορές, μπορούμε να αλλάξουμε τη μεταβλητή στην οποία δείχνει. Θα διερευνήσουμε τις λεπτομέρειες του δείκτη στα επόμενα σεμινάρια μας.
Παρουσιάζουμε ξανά την ανταλλαγή δύο ακέραιων για να δείξουμε την τεχνική Pass by Pointer.
#include #include using namespace std; void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } int main() { int a,b; cout<>a>>b; cout<<'a = '< Προεπιλεγμένες παράμετροι Στο C ++, μπορούμε να παρέχουμε προεπιλεγμένες τιμές για παραμέτρους συνάρτησης. Σε αυτήν την περίπτωση, όταν επικαλούμεθα τη συνάρτηση, δεν καθορίζουμε παραμέτρους. Αντ 'αυτού, η συνάρτηση λαμβάνει τις προεπιλεγμένες παραμέτρους που παρέχονται στο πρωτότυπο.
Το ακόλουθο παράδειγμα δείχνει τη χρήση των προεπιλεγμένων παραμέτρων.
#include #include using namespace std; int mathoperation(int a, int b = 3, int c = 2){ return ((a*b)/c); } int main() { int a,b,c; cout<>a>>b>>c; cout< Παραγωγή:
Εισαγάγετε τιμές για a, b και c: 10 4 6
Πρόσκληση σε μαθηματική λειτουργία με 1 arg: 15
Κλήση για μαθηματική λειτουργία με 2 arg: 20
Πρόσκληση σε μαθηματική λειτουργία με 3 arg: 6
Όπως φαίνεται στο παράδειγμα κώδικα, έχουμε μια συνάρτηση «mathoperation» που παίρνει τρεις παραμέτρους από τις οποίες έχουμε παράσχει προεπιλεγμένες τιμές για δύο παραμέτρους. Στη συνέχεια, στην κύρια συνάρτηση, καλούμε αυτή τη συνάρτηση τρεις φορές με μια διαφορετική λίστα ορισμάτων.
Η πρώτη κλήση είναι με ένα μόνο επιχείρημα. Σε αυτήν την περίπτωση, τα άλλα δύο ορίσματα θα έχουν προεπιλεγμένες τιμές. Η επόμενη κλήση είναι με δύο επιχειρήματα. Σε αυτήν την περίπτωση, το τρίτο όρισμα θα έχει μια προεπιλεγμένη τιμή. Η τρίτη κλήση είναι με τρία επιχειρήματα. Σε αυτήν την περίπτωση, καθώς έχουμε παράσχει και τα τρία ορίσματα, οι προεπιλεγμένες τιμές θα αγνοηθούν.
Σημειώστε ότι, ενώ παρέχουμε προεπιλεγμένες παραμέτρους, ξεκινάμε πάντα από την πιο δεξιά παράμετρο. Επίσης, δεν μπορούμε να παραλείψουμε μια παράμετρο και να παρέχουμε μια προεπιλεγμένη τιμή για την επόμενη παράμετρο.
Τώρα ας προχωρήσουμε σε μερικές έννοιες σχετικές με τη λειτουργία που είναι σημαντικές από την άποψη του προγραμματιστή.
Παράμετροι Const
Μπορούμε επίσης να μεταφέρουμε σταθερές παραμέτρους σε συναρτήσεις χρησιμοποιώντας τη λέξη-κλειδί «const». Όταν μια παράμετρος ή αναφορά είναι const, δεν μπορεί να αλλάξει μέσα στη συνάρτηση.
Σημειώστε ότι δεν μπορούμε να περάσουμε μια παράμετρο const σε μια τυπική παράμετρο non-const. Αλλά μπορούμε να περάσουμε την παράμετρο const και non-const σε μια τυπική παράμετρο const.
Ομοίως, μπορούμε επίσης να έχουμε const return-type. Σε αυτήν την περίπτωση, επίσης, ο τύπος επιστροφής δεν μπορεί να τροποποιηθεί.
Ας δούμε ένα παράδειγμα κώδικα που χρησιμοποιεί παραπομπές const.
#include #include using namespace std; int addition(const int &a, const int &b){ return (a+b); } int main() { int a,b; cout<>a>>b; cout<<'a = '< Παραγωγή:
Εισαγάγετε τους δύο αριθμούς που θα ανταλλάξετε: 22 33
α = 2 β = 33
Αποτέλεσμα προσθήκης: 55
Στο παραπάνω πρόγραμμα, έχουμε σταθερές παραμέτρους. Σημειώστε ότι οι πραγματικές παράμετροι είναι συνηθισμένες μεταβλητές non-const που έχουμε περάσει με επιτυχία. Καθώς οι τυπικές παράμετροι είναι const, δεν μπορούμε να τις τροποποιήσουμε μέσα στη συνάρτηση. Συνεπώς, εκτελούμε τη λειτουργία προσθήκης και επιστρέφουμε την τιμή.
Εάν προσπαθήσουμε να τροποποιήσουμε τις τιμές a ή b μέσα στη συνάρτηση, τότε ο μεταγλωττιστής θα εκδώσει ένα σφάλμα.
Ενσωματωμένες λειτουργίες
Γνωρίζουμε ότι για να πραγματοποιήσετε μια κλήση λειτουργίας, εσωτερικά περιλαμβάνει έναν μεταγλωττιστή που αποθηκεύει την κατάσταση του προγράμματος σε μια στοίβα πριν περάσει τον έλεγχο στη συνάρτηση.
Όταν επιστρέψει η συνάρτηση, ο μεταγλωττιστής πρέπει να ανακτήσει την κατάσταση του προγράμματος πίσω και να συνεχίσει από εκεί που έφυγε. Αυτό δημιουργεί γενικά έξοδα. Ως εκ τούτου, στο C ++ κάθε φορά που έχουμε μια συνάρτηση που αποτελείται από λίγες δηλώσεις, υπάρχει μια δυνατότητα που της επιτρέπει να επεκτείνεται inline. Αυτό γίνεται κάνοντας μια συνάρτηση ενσωματωμένη.
Έτσι, οι ενσωματωμένες συναρτήσεις είναι οι λειτουργίες που επεκτείνονται κατά το χρόνο εκτέλεσης, εξοικονομώντας τις προσπάθειες να καλέσετε τη συνάρτηση και να κάνετε τις αλλαγές στοίβας. Αλλά ακόμα κι αν κάνουμε μια λειτουργία ως ενσωματωμένη, ο μεταγλωττιστής δεν εγγυάται ότι θα επεκταθεί κατά το χρόνο εκτέλεσης. Με άλλα λόγια, εξαρτάται πλήρως από τον μεταγλωττιστή για να κάνει τη συνάρτηση ενσωματωμένη ή όχι.
Ορισμένοι μεταγλωττιστές εντοπίζουν μικρότερες συναρτήσεις και τις επεκτείνουν εν σειρά, ακόμη και αν δεν δηλώνονται inline.
Ακολουθεί ένα παράδειγμα λειτουργίας Inline.
inline int addition(const int &a,const int &b){ return (a+b); }
Όπως φαίνεται παραπάνω, προηγείται ο ορισμός της συνάρτησης με μια λέξη-κλειδί 'inline' για να κάνουμε μια συνάρτηση ενσωματωμένη.
Χρήση δομών σε συναρτήσεις
Μπορούμε να περάσουμε μεταβλητές δομής ως παραμέτρους για να λειτουργήσουμε με παρόμοιο τρόπο με τον οποίο περνάμε συνηθισμένες μεταβλητές ως παραμέτρους.
Αυτό φαίνεται στο ακόλουθο παράδειγμα.
#include #include using namespace std; struct PersonInfo { int age; char name[50]; double salary; }; void printStructInfo(PersonInfo p) { cout<<'PersonInfo Structure:'; cout<<'
Age:'< p.age; cout <> p.salary; printStructInfo(p); }
Παραγωγή:
Πληκτρολογήστε το όνομα: Vedang
Εισαγάγετε την ηλικία: 22
Εισαγάγετε μισθό: 45000,00
Δομή PersonInfo:
Ηλικία: 22
Όνομα: Vedang
Μισθός: 45000
Όπως φαίνεται στο παραπάνω πρόγραμμα, περνάμε μια δομή για να λειτουργεί με παρόμοιο τρόπο όπως άλλες μεταβλητές. Διαβάζουμε τιμές για μέλη δομής από την τυπική είσοδο και μετά μεταφέρουμε μια δομή σε μια συνάρτηση που εμφανίζει τη δομή.
συμπέρασμα
Αυτό αφορούσε τα βασικά των συναρτήσεων στο C ++.
Θα εξερευνήσουμε περισσότερα σχετικά με τις στατικές λειτουργίες στο C ++ στα επερχόμενα σεμινάρια μας.
=> Δείτε την πλήρη σειρά εκπαιδευτικών C ++ εδώ.
Συνιστώμενη ανάγνωση
- Λειτουργίες Python
- Λειτουργίες ημερομηνίας και ώρας σε C ++ με παραδείγματα
- Unix Shell Script Functions με παράμετροι και Return
- Εκμάθηση Python DateTime με παραδείγματα
- Σημαντικές λειτουργίες LoadRunner που χρησιμοποιούνται σε δέσμες ενεργειών VuGen με παραδείγματα
- Λειτουργίες συμβολοσειράς Python
- Εκπαιδευτικό πρόγραμμα Python Main Function με πρακτικά παραδείγματα
- Λειτουργίες φίλων στο C ++