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

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

Πλεονεκτήματα και Μειονεκτήματα της Δείκτες

Ανάλογα με το ποιος σας ρωτήσω , δείκτες είναι είτε μια ευλογία ή κατάρα . Δείκτες παρέχουν ένα μηχανισμό για την άμεση πρόσβαση και τροποποίηση αντικειμένων και τον κωδικό στη μνήμη . Δείκτες που χρησιμοποιούνται σε πολλές γλώσσες προγραμματισμού για τον χειρισμό χορδών χαρακτήρα , πέρασμα παραμέτρων με τις λειτουργίες , το χειρισμό πινάκων δεδομένων και τη δημιουργία συνδεδεμένων λιστών και άλλων πολύπλοκων δομών δεδομένων . Ενώ δείκτες σας παρέχει μια μεγάλη ευελιξία για τη διαχείριση της μνήμης και τη βελτιστοποίηση των αλγορίθμων , υπάρχουν και μειονεκτήματα . Μαθαίνοντας να χρησιμοποιούν δείκτες είναι δύσκολο για πολλούς προγραμματιστές , και τα προβλήματα δείκτη εντοπισμού σφαλμάτων είναι προκλητική . Βελτιστοποίηση
Η

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

Άμεση πρόσβαση στη μνήμη σημαίνει ότι μπορείτε να κάνετε πράγματα που ίσως δεν πρέπει. Ανάλογα με τη γλώσσα, τον compiler και την πλατφόρμα υπολογιστή , θα μπορούσε ακούσια ( ή ηθελημένα) προσπέλασης μνήμης που δεν είναι δικά σας για να αποκτήσετε πρόσβαση . Ως αποτέλεσμα , μπορείτε να αντικαταστήσετε κρίσιμη μνήμη , να τροποποιήσει τον κώδικα μιας εφαρμογής που εκτελείται , ή να προκαλέσει την αίτησή σας ή κάποια άλλη εφαρμογή να συμπεριφέρονται ή να τερματιστεί απροσδόκητα . Ένα κοινό λάθος είναι να τρέχει πέρα από το τέλος ενός πίνακα , πρόσβαση στη μνήμη πέρα ​​από το άκρο του χώρου που διατίθεται για την εν λόγω σειρά .

Η Διαχείριση Μνήμης
Η

διαχείρισης της χρήσης της μνήμης σε μια εφαρμογή με τη χρήση δεικτών προσφέρει ευελιξία , αλλά είναι επίσης μια αγγαρεία . Κατανομή και αποδεσμεύοντας τη μνήμη , όπως απαιτείται κατά τη διάρκεια της εκτέλεσης του χρόνου σας επιτρέπει να δημιουργήσετε μεγάλα αντικείμενα , όπως πίνακες , γρήγορα και αμέσως ελευθερώσετε τη μνήμη όταν δεν είναι πλέον απαραίτητη. Ωστόσο , είναι επίσης εύκολο να δημιουργήσετε διαρροές μνήμης με ανακατανομή ένα δείκτη χωρίς την απελευθέρωση της μνήμης που έδειχνε στην πρώτη . Συλλογή σκουπιδιών είναι δική σας ευθύνη .
Εικόνων Παράμετροι λειτουργίας
Η

λειτουργίες μπορεί να επιστρέψει μόνο μια τιμή , αλλά μπορεί να πάρει πολλές παραμέτρους . Με το πέρασμα σε δείκτες σε μεταβλητές ως παραμέτρους , μια λειτουργία μπορεί να χρησιμοποιηθεί για να ορίσετε τις τιμές αυτών των μεταβλητών, καθώς και οι νέες τιμές θα εξακολουθούν να υφίστανται μετά την επιστροφή του λειτουργία . Να είσαι σε θέση να καθορίσει την αξία του σε αρκετές μεταβλητές μονομιάς με μία κλήση είναι καθαρή και αποδοτική. Ωστόσο , αυτό μπορεί να είναι λίγο συγχέοντας για να διαβάσει γιατί δεν μπορείτε να πείτε αν οι μεταβλητές που περνάνε στο θα τροποποιηθεί ή όχι απλά κοιτάζοντας την κλήση της συνάρτησης . Θα πρέπει να εξετάσουμε την τεκμηρίωση λειτουργία για να μάθετε πώς η λειτουργία συμπεριφέρεται
εικόνων Δείκτες Λειτουργία
Η

Δείκτες δεν είναι μόνο για τα αντικείμενα στη μνήμη ? . Μπορούν επίσης να χρησιμοποιηθούν για τις λειτουργίες , επιτρέποντας έτσι μια λειτουργία για να περάσει ως παράμετρος σε μια άλλη λειτουργία . Ένας δείκτης λειτουργία μπορεί να εκχωρηθεί τη διεύθυνση ενός από μια επιλογή από λειτουργίες , έτσι ώστε ο δείκτης να ενεργεί ως ένα είδος ψευδώνυμο . Αντικειμενοστραφής γλώσσες προγραμματισμού έχουν εξαλείψει την ανάγκη για δείκτες συναρτήσεων με την κληρονομικότητα και πολυμορφισμός .
Εικόνων Pointer Σύγχυση
Η

Δείκτες είναι μια σύγχυση θέμα για πολλούς προγραμματιστές , ιδίως εκείνων με εμπειρία στην χρησιμοποιώντας γλώσσες που δεν διαθέτουν δείκτες και άμεση πρόσβαση μνήμης . Ωστόσο , η εμμονή οδηγεί γρήγορα σε γνώση των δεικτών . Οι δείκτες συχνά συνοδεύεται από σκοτεινές σύνταξη . Συνεπής συμβάσεις ονοματοθεσίας μεταβλητών μπορούν να βοηθήσουν τον κωδικό σας να είναι πιο ευανάγνωστο . Για παράδειγμα , κοινές συμβάσεις ονομασίας περιλαμβάνουν τη χρήση « p_ " ή " ptr_ " ως πρόθεμα για τα ονόματα των μεταβλητών pointer .
Εικόνων Συμβουλές
Η

Πάντα να χρησιμοποιείτε τις λειτουργίες που προέβλεπε η γλώσσα για τη μνήμη κατανομή , και ελέγξτε για να βεβαιωθείτε ότι η μνήμη χορηγήθηκε πριν από τη χρήση . Να είστε προσεκτικοί με τη διαχείριση της μνήμης , και να ελευθερώσετε μνήμη , όταν δεν είναι πλέον απαραίτητα . Εάν εκχωρήσετε εκ νέου ένα δείκτη σε μια νέα διεύθυνση μνήμης , βεβαιωθείτε ότι η παλιά μνήμη ελευθερώνεται ή ανατεθεί σε διαφορετικό δείκτη . Βεβαιωθείτε ότι οι δείκτες που δημιουργούνται σε καθήκοντα που ανατίθενται κυριότητα της μητρικής πεδίο ή το ότι η μνήμη είναι deallocated πριν την έξοδο από τη λειτουργία .
Η
εικόνων

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

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