Differences
This shows you the differences between two versions of the page.
| Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
cpp:functions [2021/04/27 07:31] gthanos [Υπερφόρτωση συναρτήσεων] |
cpp:functions [2021/04/27 06:43] (current) |
| Για τους βασικούς τύπους δεδομένων η κλήση με αναφορά σε σχέση με την κλήση με τιμή δεν βελτιώνει την ταχύτητα εκτέλεσης του προγράμματος. | Για τους βασικούς τύπους δεδομένων η κλήση με αναφορά σε σχέση με την κλήση με τιμή δεν βελτιώνει την ταχύτητα εκτέλεσης του προγράμματος. |
| </WRAP> | </WRAP> |
| | |
| | ===== Αναφορές ως επιστρεφόμενες τιμές συναρτήσεων ===== |
| | |
| | [[cpp:references#αναφορές_ως_παράμετροι_συναρτήσεων| Δείτε τη σχετική ενότητα]]. |
| |
| ===== Υπερφόρτωση συναρτήσεων ===== | ===== Υπερφόρτωση συναρτήσεων ===== |
| </code> | </code> |
| |
| Παρατηρούμε ότι οι παραπάνω συναρτήσεις έχουν το ίδιο διαφορετικούς τύπου παραμέτρων, αλλά τον ίδιο αριθμό παραμέτρων και το ίδιο σώμα. Σε αυτές τις περιπτώσεις η C++ δίνει τη δυνατότητα ορισμού template συναρτήσεων ως εξής: | Παρατηρούμε ότι οι παραπάνω συναρτήσεις έχουν τον ίδιο αριθμό παραμέτρων και το ίδιο σώμα, αλλά διαφορετικούς τύπους παραμέτρων. Σε αυτές τις περιπτώσεις η C++ δίνει τη δυνατότητα ορισμού template συναρτήσεων, δηλαδή συναρτήσεων που λαμβάνουν ως επιπλέον χαρακτηριστικό τον τύπο δεδομένων στον οποίο θα εφαρμοστούν. Παράδειγμα τέτοιας //templated// συνάρτησης δίνεται παρακάτω (μην σας μπερδεύει η δεσμευμένη λέξη class): |
| |
| <code c++> | <code c++> |
| </code> | </code> |
| |
| η δεσμευμένη έκφραση ''template <class T>'') μπορεί να αντικατασταθεί από την επίσης δεσμευμένη έκφραση ''template <typename T>''. Προκειμένου να κάνετε χρήση ενός template συνάρτησης θα πρέπει κατά την κλήση να ορίσετε και τον τύπο των δεδομένων για τον οποίο καλείται τη συγκεκριμένη συνάρτηση ως εξής: | η δεσμευμένη έκφραση ''template <class T>'') μπορεί να αντικατασταθεί από την επίσης δεσμευμένη έκφραση ''template <typename T>''. Προκειμένου να κάνετε χρήση μιας //template// συνάρτησης θα πρέπει κατά την κλήση να ορίσετε και τον τύπο των δεδομένων για τον οποίο καλείται η συγκεκριμένη συνάρτηση ως εξής: |
| |
| <code c++> | <code c++> |