This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
|
cpp:basic_data_types [2017/03/15 16:40] gthanos |
cpp:basic_data_types [2019/04/12 08:34] gthanos [Αυτόματη εξαγωγή τύπου δεδομένων] |
||
|---|---|---|---|
| Line 32: | Line 32: | ||
| Σημειώστε με βάση τον παραπάνω πίνακα ότι με εξαίρεση των τύπο **char** όλοι οι άλλοι βασικοί τύποι δεδομένων δεν καταλαμβάνουν συγκεκριμένο μέγεθος bytes στη μνήμη, αλλά προσδιορίζονται με βάση ένα ελάχιστο συνήθως μέγεθος. Αυτό δεν σημαίνει ότι οι συγκεκριμένοι τύποι δεδομένων δεν έχουν συγκεκριμένο μέγεθος αλλά ότι το μέγεθος αυτό μπορεί να διαφέρει από | Σημειώστε με βάση τον παραπάνω πίνακα ότι με εξαίρεση των τύπο **char** όλοι οι άλλοι βασικοί τύποι δεδομένων δεν καταλαμβάνουν συγκεκριμένο μέγεθος bytes στη μνήμη, αλλά προσδιορίζονται με βάση ένα ελάχιστο συνήθως μέγεθος. Αυτό δεν σημαίνει ότι οι συγκεκριμένοι τύποι δεδομένων δεν έχουν συγκεκριμένο μέγεθος αλλά ότι το μέγεθος αυτό μπορεί να διαφέρει από | ||
| - | ===== Αρχικοποίηση μεταβλητών ===== | + | ===== Δήλωση και αρχικοποίηση μεταβλητών ===== |
| Οι μεταβλητές είναι δυνατόν να αρχικοποιηθούν με τους παρακάτω τρεις τρόπους: | Οι μεταβλητές είναι δυνατόν να αρχικοποιηθούν με τους παρακάτω τρεις τρόπους: | ||
| - | < | + | <code> |
| + | int x=100; | ||
| + | int x(100); | ||
| + | int x{100}; | ||
| + | </code> | ||
| + | <code c++ main.cpp> | ||
| + | #include < | ||
| + | using namespace std; | ||
| + | |||
| + | int main () | ||
| + | { | ||
| + | int a=5; // initial value: 5 | ||
| + | int b(3); // initial value: 3 | ||
| + | int c{2}; // initial value: 2 | ||
| + | int result; | ||
| + | |||
| + | a = a + b; | ||
| + | result = a - c; | ||
| + | cout << result; | ||
| + | |||
| + | return 0; | ||
| + | } | ||
| </ | </ | ||
| + | |||
| + | ===== Αυτόματη εξαγωγή τύπου δεδομένων ===== | ||
| + | |||
| + | Όταν μία μεταβλητή δηλώνεται ο μεταγλωττιστής μπορεί να προσδιορίσει τον τύπο της από τον τύπο της τιμής που ανατίθεται σε αυτή. Σε αυτή τη περίπτωση αρκεί ο τύπος της μεταβλητής να δηλωθεί ως **auto**, όπως στο παρακάτω παράδειγμα. | ||
| + | |||
| + | <code cpp using-auto.cpp> | ||
| + | #include < | ||
| + | using namespace std; | ||
| + | |||
| + | int main () | ||
| + | { | ||
| + | int a{5}; // initial value: 5 | ||
| + | long b(3); // initial value: 3 | ||
| + | |||
| + | auto result = a + b; | ||
| + | cout << result; | ||
| + | |||
| + | return 0; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Επίσης, | ||
| + | |||
| + | <code cpp using-decltype.cpp> | ||
| + | #include < | ||
| + | using namespace std; | ||
| + | |||
| + | int main () | ||
| + | { | ||
| + | int a{5}; // initial value: 5 | ||
| + | int b(3); // initial value: 3 | ||
| + | decltype(a) result; | ||
| + | |||
| + | result = a + b; | ||
| + | cout << result << endl; | ||
| + | | ||
| + | return 0; | ||
| + | } | ||
| + | </ | ||
| + | |||