cpp:references
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
cpp:references [2019/04/12 09:52] – [Αναφορές ως επιστρεφόμενες τιμές σε συναρτήσεις] gthanos | cpp:references [Unknown date] (current) – external edit (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Line 2: | Line 2: | ||
Μία μεταβλητή τύπου αναφοράς αποτελεί ένα αμετάβλητο δείκτη σε μία υφιστάμενη μεταβλητή. Οι βασικές διαφορές ανάμεσα στις αναφορές και τους δείκτες είναι οι εξής: | Μία μεταβλητή τύπου αναφοράς αποτελεί ένα αμετάβλητο δείκτη σε μία υφιστάμενη μεταβλητή. Οι βασικές διαφορές ανάμεσα στις αναφορές και τους δείκτες είναι οι εξής: | ||
- | * Κατά την δήλωση μίας αναφοράς είναι υποχρεωτική και η αρχικοποίηση της. Οι δείκτες μπορούν να αρχικοποιηθούν σε οποιοδήποτε σημείου του προγράμματος (εκτός εάν είναι αμετάβλητης διεύθυνσης). | + | * Κατά την δήλωση μίας αναφοράς είναι υποχρεωτική και η αρχικοποίηση της. Οι δείκτες μπορούν να αρχικοποιηθούν σε οποιοδήποτε σημείο του προγράμματος (εκτός εάν είναι αμετάβλητης διεύθυνσης). |
* Η διεύθυνση στην οποία δείχνει μία αναφορά δεν μπορεί να είναι NULL. Το περιεχόμενο όμως της διεύθυνσης μπορεί να πάρει οποιαδήποτε τιμή (συμπεριλαμβανομένης της τιμής NULL). | * Η διεύθυνση στην οποία δείχνει μία αναφορά δεν μπορεί να είναι NULL. Το περιεχόμενο όμως της διεύθυνσης μπορεί να πάρει οποιαδήποτε τιμή (συμπεριλαμβανομένης της τιμής NULL). | ||
* Η αναφορά μπορεί να μεταβάλλει το περιεχόμενο της διεύθυνσης στην οποία δείχνει, | * Η αναφορά μπορεί να μεταβάλλει το περιεχόμενο της διεύθυνσης στην οποία δείχνει, | ||
- | * Η πρόσβαση στο περιεχόμενο μιας αναφοράς γίνεται απευθείας με χρήση του ονόματος της αναφοράς, | + | * Η πρόσβαση στο περιεχόμενο μιας αναφοράς γίνεται απευθείας με χρήση του ονόματος της αναφοράς, |
Δείτε τα παρακάτω παραδείγματα ορισμού και χρήσης αναφορών | Δείτε τα παρακάτω παραδείγματα ορισμού και χρήσης αναφορών | ||
Line 71: | Line 71: | ||
</ | </ | ||
- | ===== Αναφορές ως επιστρεφόμενες τιμές | + | ===== Αναφορές ως επιστρεφόμενες τιμές συναρτήσεων ===== |
- | Όταν μία συνάρτηση επιστρέφει μία αναφορά τότε η επιστρεφόμενη τιμής της μπορεί να χρησιμοποιηθεί | + | Όταν μία συνάρτηση επιστρέφει μία αναφορά τότε η επιστρεφόμενη τιμής μπορεί να χρησιμοποιηθεί |
+ | * για | ||
+ | * για | ||
+ | |||
+ | Δείτε το παρακάτω τμήμα κώδικα, | ||
<code cpp reference_return_values.cpp> | <code cpp reference_return_values.cpp> | ||
Line 79: | Line 83: | ||
using namespace std; | using namespace std; | ||
- | double& | + | double& |
| | ||
} | } | ||
Line 87: | Line 91: | ||
double vals[] = {10.1, 12.6, 33.1, 24.1, 50.0}; | double vals[] = {10.1, 12.6, 33.1, 24.1, 50.0}; | ||
- | cout << "Value before change" | + | cout << "Array before change" |
for ( int i = 0; i < 5; i++ ) { | for ( int i = 0; i < 5; i++ ) { | ||
cout << " | cout << " | ||
Line 93: | Line 97: | ||
} | } | ||
- | value(vals, 1) = 20.23; // change 2nd element | + | array_value(vals, 1) = 20.23; // αλλαγή του 2ου στοιχείου |
- | value(vals, 3) = 70.8; // change 4th element | + | array_value(vals, 3) = 70.8; // αλλαγή του 4ου στοιχείου |
- | cout << "Value after change" | + | cout << "Array after change" |
for ( int i = 0; i < 5; i++ ) { | for ( int i = 0; i < 5; i++ ) { | ||
cout << " | cout << " | ||
cout << vals[i] << endl; | cout << vals[i] << endl; | ||
} | } | ||
- | + | ||
| | ||
} | } |
cpp/references.1555062758.txt.gz · Last modified: 2019/04/12 08:52 (external edit)