Πίνακας περιεχομένων:
- Εκφράσεις
- Λόγοι έκφρασης
- Η λέξη auto μπορεί να χρησιμοποιηθεί αν η C ++ μπορεί να καθορίσει τον τύπο της ίδιας της μεταβλητής:
Βίντεο: Zeitgeist Addendum 2024
Μέρος της C ++ για Dummies Sheath Sheet
Για να εκτελέσετε έναν υπολογισμό στο πρόγραμμα C ++ χρειάζεστε μια έκφραση. Μια έκφραση είναι μια δήλωση που έχει τόσο μια τιμή όσο και έναν τύπο. Στο πρόγραμμα C ++, μια δήλωση είναι δήλωση που ορίζει μια μεταβλητή ή είναι μια "δεξαμενή συγκράτησης" για κάποιο είδος τιμής, όπως ένας αριθμός ή ένας χαρακτήρας.
Εκφράσεις
Οι εκφράσεις λαμβάνουν μία από τις ακόλουθες μορφές:
objName // για μια απλή έκφραση χειριστή αντικειμένου // για τους unary φορείς expr1 operator expr2 // για τους δυαδικούς operators expr1; expr2: expr3 // για τον τριμερή operName operaname ([λίστα παραμέτρων]); // για κλήσεις λειτουργίας
Λόγοι έκφρασης
Ένα κυριολεκτικό είναι μια μορφή συνεχούς έκφρασης. Οι διάφοροι τύποι κυκλωμάτων ορίζονται στον ακόλουθο πίνακα.
Παράδειγμα | Πληκτρολογήστε |
---|---|
1 | int |
1L | long int |
1LL | long int |
1. 0 | διπλό |
1. 099 | float |
'1' | char |
" > u8 "Αυτή είναι μια συμβολοσειρά UTF-16 με χαρακτήρα UTF-16: u2018" | char8_t * |
u " | U "Αυτή είναι μια συμβολοσειρά UTF-32 με χαρακτήρα UTF-32: |
U00002018" | char32_t * |
true, false | bool |
0b101
πρότυπο) |
|
Δηλώσεις | Οι δηλώσεις χρησιμοποιούν τόσο εσωτερικούς όσο και καθορισμένους από τον χρήστη τύπους. Οι εσωτερικοί τύποι είναι |
[] char [] wchar_t [] [] int float [long] double bool | Οι δηλώσεις έχουν μία από τις παρακάτω μορφές: |
Η λέξη auto μπορεί να χρησιμοποιηθεί αν η C ++ μπορεί να καθορίσει τον τύπο της ίδιας της μεταβλητής:
auto var = 1L. // ο τύπος var είναι μακρύς int
Η λέξη λέξη decltype εξάγει τον τύπο μιας έκφρασης. Αυτός ο τύπος μπορεί στη συνέχεια να χρησιμοποιηθεί οπουδήποτε χρησιμοποιείται ένα όνομα τύπου. Για παράδειγμα, το ακόλουθο παράδειγμα χρησιμοποιεί decltype για να δηλώσει μια δεύτερη μεταβλητή με τον ίδιο τύπο με μια υπάρχουσα μεταβλητή:
decltype (var1) var2; // ο τύπος του var2 είναι ο ίδιος με τον var1
Ο ορισμός της λειτουργίας έχει την ακόλουθη μορφή:
// απλή λειτουργία [] type fnName (λίστα παραμέτρων) {…} // συνάρτηση μέλους καθορισμένη εκτός κλάσης [inline] class () [:] () [class] () […] class:: class () } // κατασκευαστές / καταστροφέας μπορεί να διαγραφεί ή να αχρηστεύσει // αντί του ορισμού Τάξη:: Κατηγορία ([λίστα παραδειγμάτων]) =; Κατηγορία:: ~ Κατηγορία () =;Ένας υπερφορτωμένος χειριστής μοιάζει με έναν ορισμό λειτουργίας.Οι περισσότεροι υπερφόρτωτοι χειριστές μπορούν να γράφονται είτε ως μέλη είτε ως απλές λειτουργίες. Όταν γράφεται ως συνάρτηση μέλους, * αυτό είναι το πρώτο επιχείρημα που υποθέσαμε στον χειριστή:
MyClass και χειριστής + (const MyClass & m1, const MyClass & m2); // απλός MyClass & MyClass:: operator + (const MyClass & m2); // μέλος;
Οι χρήστες μπορούν επίσης να ορίσουν τους δικούς τους τύπους χρησιμοποιώντας τις λέξεις-κλειδιά class ή struct:
Επιπλέον, ένας κατασκευαστής με ένα μόνο επιχείρημα μπορεί να επισημανθεί ως ρητή έννοια που δεν θα χρησιμοποιηθεί σε μια σιωπηρή μετατροπή από τον ένα τύπο στον άλλο. Η επισήμανση ενός κατασκευαστή ως προεπιλογή σημαίνει "χρησιμοποιήστε τον προεπιλεγμένο ορισμό του κατασκευαστή C ++". Η επισήμανση ενός κατασκευαστή ως διαγραφή καταργεί τον προεπιλεγμένο ορισμό του κατασκευαστή C ++.
enum STATE {DC, // παίρνει 0 ALABAMA, // παίρνει 1 ALASKA, // παίρνει 2 ARKANSAS, // παίρνει 3 // … και ούτω καθεξής}. int n = ALASKA; // ALASKA είναι τύπου int
Από προεπιλογή μια μεμονωμένη καταχώρηση είναι τύπου int αλλά αυτό μπορεί να αλλάξει στο πρότυπο C ++ 2011:
enum ALPHABET: char {A = 'a', // παίρνει 'a' B, // παίρνει 'b' C, // παίρνει 'c' // … και ούτω καθεξής}? char c = Α. // A είναι τύπου char
Το C ++ 2011 επιτρέπει μια δεύτερη μορφή που δημιουργεί έναν νέο τύπο:
// η ακόλουθη απαρίθμηση ορίζει έναν νέο τύπο STATE enum class STATE {DC, // παίρνει 0 ALABAMA, // παίρνει 1 ALASKA, // παίρνει 2 ARKANSAS, // παίρνει 3 … και ούτω καθεξής}; ΚΡΑΤΟΣ s = ΚΡΑΤΟΣ:: ALASKA; // τώρα το STATE είναι ένας νέος τύπος // το παρακάτω χρησιμοποιεί μια διαφορετική υποκείμενη κατηγορία enum class ALPHABET: char {A = 'a', // παίρνει 'a' B, // παίρνει 'b' C, // παίρνει 'c ' //… και ούτω καθεξής}; ALPHABET c = ALPHABET:: Α. // Α είναι τύπου ALPHABET
Οι δηλώσεις προτύπου έχουν ελαφρώς διαφορετική μορφή:
// ο τύπος T παρέχεται από τον προγραμματιστή κατά τη χρήση πρότυπου τύπου FunctionName ([arg list]) πρότυπο className {{…}};