C++

C++

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Μετάβαση σε: πλοήγηση, αναζήτηση

H C++ (C Plus Plus, ελληνική προφ. Σι Πλας Πλας, φωνητική [siː plʌs plʌs]) είναι μια γενικού σκοπού γλώσσα προγραμματισμού Η/Υ. Θεωρείται μέσου επιπέδου γλώσσα, καθώς περιλαμβάνει έναν συνδυασμό χαρακτηριστικών από γλώσσες υψηλού και χαμηλού επιπέδου. Είναι μια δακτυλογραφούμενη, ελεύθερης μορφής, πολλαπλών παραδειγμάτων, μεταφράσιμη γλώσσα όπου η μετάφρασή της (compilation) δημιουργεί κώδικα μηχανής για ένα συγκεκριμένο τύπο υλικού. Υποστηρίζει δομημένο, αντικειμενοστραφή και γενικό προγραμματισμό.

Η γλώσσα αναπτύχθηκε από τον Bjarne Stroustrup το 1979 στα εργαστήρια Bell της AT&T, ως βελτίωση της ήδη υπάρχουσας γλώσσας προγραμματισμού C, και αρχικά ονομάστηκε "C with Classes", δηλαδή C με Κλάσεις. Μετονομάστηκε σε C++ το 1983. Οι βελτιώσεις ξεκίνησαν με την προσθήκη κλάσεων, και ακολούθησαν, μεταξύ άλλων, εικονικές συναρτήσεις, υπερφόρτωση τελεστών, πολλαπλή κληρονομικότητα, πρότυπα κ.α.

Η γλώσσα ορίστηκε παγκοσμίως, το 1998, με το πρότυπο ISO/IEC 14882:1998. Η τρέχουσα έκδοση αυτού του προτύπου είναι αυτή του 2003, η ISO/IEC 14882:2003. Μια καινούρια έκδοση είναι υπό ανάπτυξη, γνωστή ανεπίσημα με την ονομασία C++0x.

Πίνακας περιεχομένων

Φιλοσοφία

Στο βιβλίο του "The Design and Evolution of C++ (1994), ο Bjarne Stroustrup περιγράφει κάποιους κανόνες που χρησιμοποιεί για το σχεδιασμό της C++:

  • η C++ είναι σχεδιασμένη ως μια γενικής χρήσης γλώσσα με στατικούς τύπους, που είναι όσο αποτελεσματική και φορητή, όσο η C
  • η C++ είναι σχεδιασμένη να υποστηρίζει άμεσα και σφαιρικά πολλά είδη προγραμματισμού (δομημένος προγραμματισμός, αντικειμενοστρεφής προγραμματισμός, γενικός προγραμματισμός)
  • η C++ είναι σχεδιασμένη να δίνει επιλογές στον προγραμματιστή, ακόμα κι αν του επιτρέπει να επιλέξει λανθασμένα
  • η C++ είναι σχεδιασμένη να είναι όσο το δυνατόν συμβατή με τη C, ώστε να διευκολύνει τη μετάβαση από τη C
  • η C++ αποφεύγει χαρακτηριστικά που αναφέρονται σε συγκεκριμένες πλατφόρμες ή δεν είναι γενικής χρήσης
  • η C++ δεν έχει κόστος για χαρακτηριστικά της γλώσσας που δεν χρησιμοποιούνται
  • η C++ είναι σχεδιασμένη να λειτουργεί χωρίς κάποιο εξελιγμένο προγραμματιστικό περιβάλλον

Το βιβλίο Inside the C++ Object Model (Lippman, 1996) περιγράφει πως οι μεταγλωττιστές μπορούν να μετατρέψουν εντολές ενός προγράμματος C++ σε μια διάταξη στη μνήμη. Παρ' όλα αυτά, οι συγγραφείς μεταγλωττιστών είναι γενικά ελεύθεροι να υλοποιήσουν το πρότυπο με δικό τους τρόπο.

Χαρακτηριστικά

Η C++ κληρονόμησε το μεγαλύτερο μέρος της σύνταξης της C και τον προεπεξεργαστή της C. Το παρακάτω είναι ένα πρόγραμμα hello world που χρησιμοποιεί την λειτουργία stream της C++ standard library για να γράψει ένα μήνυμα στην κύρια έξοδο.

 # include <iostream> int main() {    std::cout << "Hello, world!\n"; } 

Τελεστές και υπερφόρτωση τελεστών

Η C++ παρέχει περισσότερους από 30 τελεστές, που καλύπτουν τη βασική αριθμητική, το χειρισμό bit, αναφορά δεικτών, συγκρίσεις, λογικές πράξεις κ.α. Σχεδόν όλοι οι τελεστές μπορούν να υπερφορτωθούν για τύπους ορισμένους από το χρήστη, με λίγες εξαιρέσεις όπως πρόσβαση μέλους (. και .*). Το πλούσιο σύνολο από υπερφορτώσιμους τελεστές είναι βασικό για τη χρήση της C++ ως γλώσσα ειδικού πεδίου (domain specific language). Οι υπερφορτώσιμοι τελεστές είναι ακόμα βασικό μέρος πολλών προχωρημένων τεχνικών προγραμματισμού της C++, όπως οι έξυπνοι δείκτες. Η υπερφόρτωση ενός τελεστή δεν αλλάζει την προτεραιότητα των υπολογισμών όπου χρησιμοποιείται, ούτε τον αριθμό των τελεστέων που χρησιμοποιεί ο τελεστής (αν και οποιοσδήποτε τελεστέος μπορεί απλά να αγνοείται).

Πηγές

Εξωτερικοί σύνδεσμοι

  • The invention of C++ — Συνέντευξη του Bjarne Stroustrup για τη δημιουργία της γλώσσας (Αγγλικά)

 

Wikipedia-logo.png Στο άρθρο αυτό έχει ενσωματωθεί κείμενο από το άρθρο C++ της Αγγλόγλωσσης Βικιπαίδειας, η οποία διανέμεται υπό την GNU FDL και την CC-BY-SA 3.0. (ιστορικό/συντάκτες).
Ανακτήθηκε από "http://el.wikipedia.org/wiki/C%2B%2B"

Αυτό το άρθρο υπόκειται στους όρους της Άδειας Δωρεάν Τεκμηρίωσης GNU. Χρησιμοποιεί υλικό από Άρθρο "C++".

Εάν κάποιος επιθυμεί να ασχοληθεί περισσότερο με την συγκεκριμένη γλώσσα ένας ιστοχώρος που μπορεί να τον βοηθήσει είναι ο παρακάτω.