Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να αναγνωρίσει Inline συναρτήσεις στη C + +

Σε C + + , θα ορίσει ένα C + + συνάρτηση με τη λέξη-κλειδί inline να υποβάλει αίτηση για τον compiler να βελτιώσει τις επιδόσεις της συνάρτησης . Ανάλογα με διάφορους παράγοντες , ο compiler μπορεί να ενσωματώσουν κώδικα της συνάρτησης σε κώδικα ρεύμα του καλούντος και να βελτιστοποιήσουν τη inline- αναπτυγμένος κώδικας . Inline είναι ένα αίτημα , δεν αποτελεί εγγύηση . Το κόστος της inlining είναι συνήθως μια αύξηση στο μέγεθος του κώδικα. Διαβάστε παρακάτω για να μάθετε πώς να δηλώσει inline συναρτήσεις σε C + + . Τα πράγματα που θα χρειαστείτε Κατάλογος τίτλων κατανόηση της C + + ή C
C ή C + + compiler με ένα IDE

Παρουσίαση Περισσότερες οδηγίες
Η 1

Κάντε λειτουργίες inline σύμφωνα με το ακόλουθο κριτήρια. Ο κώδικας μέσα στα άγκιστρα της συνάρτησης δεν θα πρέπει να υπερβαίνει τις τρεις γραμμές . Κλήσεις του προγράμματος για τη λειτουργία θα πρέπει να ανέρχονται σε εκατοντάδες ή και περισσότερο. Λάβετε υπόψη ότι υπερβολικά ζήλο inlining μπορεί να προκαλέσει ένα φαινόμενο που ονομάζεται bloat κώδικα . Αυτό σημαίνει πολύ γοητευτικός σε εικονική μνήμη , η οποία μπορεί να επιβραδύνουν την απόδοση 2

Βάλτε τη λέξη-κλειδί inline πριν από τη δήλωση της συνάρτησης και τον ορισμό να ορίσει ότι είναι inline : .
Inline void func ( int ) ? //δήλωση
inline void func ( int num ) {
//3 γραμμές κώδικα
}
εικόνων 3

Inline η συνάρτηση-μέλος της C + + class από γράφοντας τον κώδικα της συνάρτησης στο σώμα τάξη . Αυτός είναι ένας εναλλακτικός τρόπος για να πει ο compiler σε ενσωματωμένα αυτή τη λειτουργία, αλλά πρέπει να είναι ένα μέλος της C + + class :
class Complex {
κοινό:
int Αρχ. ( ) {
//3 γραμμές κώδικα
}
Η 4

Βρείτε εναλλακτικές λύσεις για τη χρήση του macro ορίζουν , η οποία είναι μια εναλλακτική λύση σε μια ενσωματωμένη συνάρτηση . Η μακροοικονομική καθορίζουν επιτρέπει το προεπεξεργαστή για inline - επεκτείνει μια λειτουργία . Οι μακροεντολές είναι ασφαλείς, επειδή δεν κάνουν τον έλεγχο του τύπου :
# define avoidIfPoss ( i ) ( ( i ) > = 0 ( i ) : - ( i ) )
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα