Πώς να εφαρμόσετε καλύτερα τη μετατροπή τύπου στο C ++;



Αυτό το άρθρο θα σας παρουσιάσει το Type Conversion In C ++ και θα το ακολουθήσει με μια λεπτομερή προγραμματική επίδειξη για το ίδιο.

Αυτό το άρθρο θα σας παρουσιάσει ένα ακόμη ενδιαφέρον θέμα που είναι το Type Conversion In C ++ και ακολουθήστε το με λεπτομερή πρακτική επίδειξη. Οι ακόλουθοι δείκτες θα καλυφθούν σε αυτό το άρθρο,

Ας ξεκινήσουμε λοιπόν,





Πληκτρολογήστε Μετατροπή σε C ++

Τύπος μετατροπής αναφέρεται σε μετατροπή από τον ένα τύπο στον άλλο. Η κύρια ιδέα πίσω από τη μετατροπή τύπου είναι να καταστεί μια μεταβλητή ενός τύπου συμβατή με τη μεταβλητή ενός άλλου τύπου για την εκτέλεση μιας λειτουργίας. Για παράδειγμα, για να βρείτε το άθροισμα δύο μεταβλητών, μία από τον τύπο int και άλλη από τον τύπο float. Έτσι, πρέπει να πληκτρολογήσετε cast int μεταβλητή για float για να κάνετε και τους δύο τύπους float για να βρείτε το άθροισμα. Σε αυτό το ιστολόγιο θα μάθουμε πώς να κάνουμε μετατροπή τύπου στο C ++.

Στο C ++, υπάρχουν δύο τύποι μετατροπής τύπου, δηλαδή σιωπηρή μετατροπή τύπου και ρητή μετατροπή τύπου.



Σιωπηρή μετατροπή τύπου

Η σιωπηρή μετατροπή τύπου ή η αυτόματη μετατροπή τύπου πραγματοποιείται από τον μεταγλωττιστή από μόνο του. Δεν απαιτείται εξωτερική ενεργοποίηση από τον χρήστη για να πληκτρολογήσει μια μεταβλητή από τον ένα τύπο στον άλλο.

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

Ακολουθεί η σειρά της αυτόματης μετατροπής τύπου. Μπορείτε επίσης να πείτε, τον μικρότερο έως μεγαλύτερο τύπο δεδομένων για μετατροπή τύπου.



bool -> char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double

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

Τώρα ας δούμε ένα παράδειγμα για να κατανοήσουμε πώς λειτουργεί η σιωπηρή μετατροπή τύπου στο C ++.

Παράδειγμα

# συμπερίληψη χρησιμοποιώντας χώρο ονομάτων std int main () 12w {int int1 = 100 // integer int1 char char1 = 'c' // χαρακτήρας char1 // char1 σιωπηρά μετατράπηκε σε int χρησιμοποιώντας τιμή ASCII του 'c' δηλ. 99 int1 = int1 + char1 // int1 μετατρέπεται σιωπηρά σε float float flt1 = int1 + 2,7 cout<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

Παραγωγή

int1 = 199

char1 = γ

flt1 = 201.7

Στη συνέχεια, σε αυτόν τον τύπο μετατροπής στο άρθρο C ++,

Μετατροπή ρητού τύπου

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

  • Μετατροπή ανά ανάθεση
  • Μετατροπή με χρήση του τελεστή Cast

Τώρα ας δούμε κάθε έναν από τους τρόπους για να εξηγήσετε ρητά έναν τύπο στον άλλο.

Μετατροπή ανά ανάθεση

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

Παράδειγμα

#include χρησιμοποιώντας χώρο ονομάτων std int main () {double dbl1 = 8.9 // Άμεση μετατροπή από διπλό σε int int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }

Παραγωγή

Αποτέλεσμα = 9

Στη συνέχεια, σε αυτόν τον τύπο μετατροπής στο άρθρο C ++,

Μετατροπή χρησιμοποιώντας Cast Operator

Ο τελεστής Cast είναι ένας unary τελεστής που αναγκάζει έναν τύπο δεδομένων να μετατραπεί σε έναν άλλο τύπο δεδομένων. Υπάρχουν τέσσερις τύποι μετάδοσης σε C ++, δηλ. Static Cast, Dynamic Cast, Const Cast και Reinterpret Cast.

  • Στατικό καστ - Αυτός είναι ο απλούστερος τύπος καστ που μπορεί να χρησιμοποιηθεί. Δεν εκτελεί μόνο upcast, αλλά και downcast. Είναι ένα χρονοδιάγραμμα συλλογής. Οι έλεγχοι δεν πραγματοποιούνται κατά τη διάρκεια του χρόνου εκτέλεσης για να διασφαλιστεί ότι ένα αντικείμενο που μετατρέπεται είναι ένα πλήρες αντικείμενο του τύπου προορισμού.
  • Δυναμικό Cast - Διασφαλίζει ότι ένα αποτέλεσμα της μετατροπής τύπου δείχνει το έγκυρο, πλήρες αντικείμενο του τύπου δείκτη προορισμού.
  • Κωνσταντ Καστ - χειρίζεται αν το αντικείμενο πρέπει να είναι σταθερό ή μη σταθερό. Διασφαλίζει ότι είτε η σταθερά πρέπει να ρυθμιστεί είτε να αφαιρεθεί.
  • Επανερμηνεία Cast - μετατρέπει οποιονδήποτε τύπο δείκτη σε οποιονδήποτε άλλο τύπο δείκτη, ακόμη και σε άσχετες κλάσεις. Δεν ελέγχει εάν ο τύπος δείκτη και τα δεδομένα που υποδεικνύονται από το δείκτη είναι ίδια ή όχι.

Ας δούμε ένα παράδειγμα στατικού καστ,

Παράδειγμα

#include χρησιμοποιώντας namespace std int main () {float flt = 30.11 // using cast operator int int1 = static_cast (flt) cout< 

Παραγωγή

30

Αυτό μας φέρνει στο τέλος αυτού του άρθρου σχετικά με τη μετατροπή τύπου σε C ++.Ελπίζω να βρήκατε αυτό το ενημερωτικό και χρήσιμο, μείνετε συντονισμένοι για περισσότερα μαθήματα σχετικά με παρόμοια θέματα. Μπορείτε επίσης να δείτε το εκπαιδευτικό μας πρόγραμμα to να αποκτήσετε σε βάθος γνώσεις σχετικά με το jQuery μαζί με τις διάφορες εφαρμογές του, μπορείτε για ζωντανή διαδικτυακή εκπαίδευση με 24ωρη υποστήριξη και πρόσβαση σε όλη τη διάρκεια ζωής.

Έχετε μια ερώτηση για εμάς; Αναφέρετέ τα στην ενότητα σχολίων αυτού του άρθρου και θα επικοινωνήσουμε μαζί σας.

σεφ εναντίον ασβέστη vs μαριονέτα