This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
cpp:functors [2020/05/31 20:34] gthanos |
cpp:functors [2020/06/01 05:25] gthanos [Χρήση ενός function object αντί για συνάρτηση] |
||
|---|---|---|---|
| Line 5: | Line 5: | ||
| ===== Η συνάρτηση for_each ===== | ===== Η συνάρτηση for_each ===== | ||
| - | Η συνάρτηση [[http:// | + | Η συνάρτηση [[http:// |
| <code cpp> | <code cpp> | ||
| template< | template< | ||
| Line 17: | Line 17: | ||
| </ | </ | ||
| - | Παρακάτω δίνεται ένα παράδειγμα, | + | Παρακάτω δίνεται ένα παράδειγμα, |
| <code cpp prefix_str.cpp> | <code cpp prefix_str.cpp> | ||
| Line 49: | Line 49: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | ==== Χρήση ενός function object αντί για συνάρτηση ==== | ||
| Παρατηρήστε ότι ο κώδικας δουλεύει σωστά, με την υποσημείωση ότι κάθε φορά που θέλετε να αλλάξετε το prefix το οποίο προστίθεται στα περιεχόμενα του // | Παρατηρήστε ότι ο κώδικας δουλεύει σωστά, με την υποσημείωση ότι κάθε φορά που θέλετε να αλλάξετε το prefix το οποίο προστίθεται στα περιεχόμενα του // | ||
| Line 54: | Line 56: | ||
| - υπερφορτώνει τον τελεστή () (// | - υπερφορτώνει τον τελεστή () (// | ||
| - | Ένα τέτοιο αντικείμενο ονομάζεται //function object ή functor//. Δείτε το παρακάτω παράδειγμα όπου ορίζουμε την κλάση // | + | Ένα τέτοιο αντικείμενο ονομάζεται //function object ή functor//. Δείτε το παρακάτω παράδειγμα όπου ορίζουμε την κλάση // |
| <code cpp prefix_str_function_object.cpp> | <code cpp prefix_str_function_object.cpp> | ||