1. Τα σχόλια στη C++

Τα σχόλια στη C++ αρχίζουν με διπλή κάθετο "//", αρχίζουν οπουδήποτε στη γραμμή
και εκτείνονται ως το τέλος της γραμμής, όπου αυτόματα τερματίζονται. Ο παλιός 
τρόπος ορισμού των σχολίων, που χρησιμοποιείται και στην ANSI-C, μπορεί να 
χρησιμοποιηθεί και στη C++, όπως φαίνεται στο παράδειγμα. Ο νέος τρόπος είναι
προτιμότερος γιατί αποφεύγεται η κατά λάθος αποκοπή γραμμών προγράμματος με 
μορφή σχολίων. Αυτό μπορεί να γίνει, στον παλιό τρόπο, απλά ξεχνώντας να κλείσουμε
τα σχόλια. Μια καλή προγραμματιστική τεχνική είναι να χρησιμοποιείται ο νέος 
τρόπος για τον σχολιασμό και ο παλιός για την αποκοπή τμημάτων του προγράμματος κατά
την αποσφαλμάτωση.

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

Εξετάστε το πρόγραμμα CONCOM.CPP σαν ένα παράδειγμα αρκετών νέων στοιχείων στη C++. 
Θα ασχοληθούμε με τα νέα στοιχεία στη γλώσσα, ένα κάθε φορά, ξεκινώντας με τα σχόλια.
2. Οι λέξεις κλειδιά CONST και VOLATILE

Στις αρχικές δηλώσεις υπάρχουν δυο νέες λέξεις κλειδιά, οι οποίες δεν υπήρχαν στην
αρχική C, αλλά είναι τμήμα του προτύπου ANSI-C. Η λέξη const χρησιμοποιείται για 
να ορίσει μια σταθερά. Η σταθερά START είναι ακέραιου τύπου (int) και παίρνει αρχική 
τιμή 3. Ο μεταγλωττιστής δεν επιτρέπει την ηθελημένη ή κατά λάθος αλλαγή της τιμής 
της START γιατί έχει δηλωθεί σαν σταθερά. Οποιαδήποτε απόπειρα αλλαγής της τιμής 
μιας σταθεράς θα έχει σαν αποτέλεσμα την εμφάνιση ενός μηνύματος λάθους. Εφόσον δεν 
επιτρέπεται η αλλαγή της τιμής μιας σταθεράς, είναι καλό να αρχικοποιείται όταν 
δηλώνεται, ώστε να έχει μια χρήσιμη τιμή. Ο μεταγλωττιστής δεν απαιτεί την αρχικοποίηση 
της και δεν εμφανίζει μήνυμα λάθους αν αυτή δεν γίνει. 

Θα παρατηρήσατε ότι η λέξη const επίσης χρησιμοποιείται στην δήλωση της συνάρτησης,
για να δείξει ότι η τυπική παράμετρος data_value είναι μια σταθερά για την συνάρτηση.
Κάθε προσπάθεια να αλλαχθεί η τιμή σε αυτή την μεταβλητή θα δώσει λάθος. Αυτή είναι 
μια απλή τεχνική που μπορεί να προστεθεί στο πρόγραμμα ώστε να αυξήσει την ικανότητα 
του μεταγλωττιστή να ανιχνεύει λάθη για τον χρήστη. 

Η λέξη κλειδί volatile επίσης υπάρχει στην ANSI-C αλλά όχι και στην αρχική C. Η τιμή
μιας volatile μεταβλητής δεν μπορεί να αλλάξει από τον προγραμματιστή, μπορεί όμως να
υπάρξει κάποιος μηχανισμός που να αποτρέπει την αλλαγή, όπως μια διακοπή χρονομέτρου 
που θα προκαλέσει αύξηση της τιμής της. Ο μεταγλωττιστής πρέπει να γνωρίζει ότι αυτή η
τιμή μπορεί να αλλάξει από κάποια εξωτερική δύναμη, όταν βελτιστοποιεί τον κώδικα. 
Η μελέτη της βελτιστοποίησης του κώδικα είναι αρκετά ενδιαφέρουσα, αλλά έξω από τους
σκοπούς αυτού του συγγράμματος. Σημειώνεται ότι και μια σταθερά μπορεί να γίνει volatile,
που σημαίνει ότι δεν μπορεί ο προγραμματιστής να την αλλάξει, αλλά η αλλαγή μπορεί να 
γίνει από κάποια λειτουργία του υλικού ή του λειτουργικού συστήματος. 

Προσωρινά αφήνουμε τις προτάσεις εξόδου. Θα τις μελετήσουμε αργότερα στο κεφάλαιο. Αν 
είστε εξοικειωμένοι στον προγραμματισμό με τον αρχικό ορισμό της C, σίγουρα θα βρείτε 
το πρόγραμμα κάπως παράξενο. Εδώ φαίνεται η προτυποποίηση και ο νέος τρόπος ορισμού
των συναρτήσεων, όπως ορίζεται στο πρότυπο ANSI-C. Η προτυποποίηση είναι προαιρετική 
στη C,αλλά απολύτως αναγκαία στη C++. Γι’ αυτό το κεφάλαιο 4 ασχολείται με αυτό το θέμα. 

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

Αποτελέσματα εκτέλεσης

The value of the index is  3
The value of the index is  4
The value of the index is  5
The value of the index is  6
The value of the index is  7
The value of the index is  8

Περιεχόμενα Κεφαλαίου