Διαφορά μεταξύ C και C ++ με παραδείγματα Γλώσσες προγραμματισμού

Βασική διαφορά: Οι C και C ++ είναι δύο διαφορετικές γλώσσες προγραμματισμού υπολογιστών. Το C ++ αναπτύχθηκε από τη γλώσσα προγραμματισμού C. Ωστόσο, είναι πολύ διαφορετικές στη φύση τους. Η πιο προφανής διαφορά είναι ότι το C είναι μια γλώσσα προσανατολισμένη προς τη διαδικασία, ενώ το C ++ υποστηρίζει προγραμματισμό και αντικειμενοστραφή προγραμματισμό, επομένως συχνά ονομάζεται υβριδική γλώσσα.

C και C ++ είναι δύο διαφορετικές γλώσσες προγραμματισμού υπολογιστών. C αναπτύχθηκε αρχικά από τον Dennis Ritchie στο AT & T Bell Labs μεταξύ 1969 και 1973. Η C ++ είναι μια άλλη γλώσσα προγραμματισμού γενικής χρήσης. Αναπτύχθηκε από την αρχική γλώσσα προγραμματισμού C. Αναπτύχθηκε από τον Bjarne Stroustrup στο Bell Labs που ξεκίνησε το 1979. Η C ++ αρχικά ονομάστηκε C με τις κλάσεις, καθώς βασίστηκε στο C. Το 1983 μετονομάστηκε σε C ++.

Το C είναι μία από τις παλαιότερες γλώσσες προγραμματισμού που χρησιμοποιείται σήμερα και είναι μία από τις πιο διαδεδομένες γλώσσες προγραμματισμού. Έχει χρησιμοποιηθεί συνεχώς σε εφαρμογές που είχαν προηγουμένως κωδικοποιηθεί στη γλώσσα συναρμολόγησης. Αυτό περιλαμβάνει το λειτουργικό σύστημα υπολογιστή UNIX. Το C έχει επίσης επηρεάσει άμεσα ή έμμεσα πολλές από τις μεταγενέστερες γλώσσες προγραμματισμού, όπως C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python και shell C του Unix. Παρά τις νέες γλώσσες, το C παραμένει μια δημοφιλής γλώσσα προγραμματισμού.

Το C ++ αρχικά ξεκίνησε ως ένα βελτιωτικό για το C. Σχεδιάστηκε για να είναι συμβατό με τον κώδικα πηγής και συνδέσμου με το C. Παρόλα αυτά, πρόσθεσε κλάσεις, εικονικές λειτουργίες, υπερφόρτωση φορέα, πολλαπλή κληρονομιά, πρότυπα, χειρισμό εξαιρέσεων κλπ. Τελικά ανέπτυξε αρκετά ώστε να θεωρείται από μόνη της γλώσσα προγραμματισμού. Αρχικά επικυρώθηκε το 1998 ως πιστοποιημένη γλώσσα προγραμματισμού ISO / IEC 14882: 1998. Σήμερα, η C ++ χρησιμοποιείται συνήθως για το σχεδιασμό υλικού.

Το C είναι μια γλώσσα προγραμματισμού γενικού σκοπού που χρησιμοποιεί το τετράγωνο (?) Ως τερματισμό δήλωσης, καθώς και τα σγουρά ({}) για την ομαδοποίηση μπλοκ δηλώσεων. Έχει εγκαταστάσεις για δομημένο προγραμματισμό και ο σχεδιασμός του παρέχει κατασκευές που μπορούν να χαρτογραφηθούν αποτελεσματικά στις τυπικές οδηγίες του μηχανήματος. Επιτρέπει επίσης τη λεκτική μεταβλητή εμβέλεια και την επανάληψη και διαθέτει ένα σύστημα στατικού τύπου, το οποίο αποτρέπει πολλές ακούσιες πράξεις.

Ωστόσο, σε σύγκριση με τη C ++, ο C έχει πολλούς περιορισμούς. Καθώς το C δεν είναι αντικειμενοστρεφές, δεν υποστηρίζει τις έννοιες OOPS. C δεν υποστηρίζει τη λειτουργία και την υπερφόρτωση του χειριστή. Δεν μπορεί να χρησιμοποιήσει λειτουργίες μέσα στις δομές. Δεν υποστηρίζει εικονικές λειτουργίες και μεταβλητές αναφοράς ή χειρισμό εξαιρέσεων. Επίσης, δεν υποστηρίζει μεταβλητές αναφοράς. Επιπροσθέτως, το C επίσης δεν εγκλείει την κάψουλα ή την ασφάλεια δεδομένων. Σε σύγκριση, η C ++ υποστηρίζει όλα αυτά τα χαρακτηριστικά.

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

Οι δύο γλώσσες διαφέρουν επίσης στον τρόπο λειτουργίας των λειτουργιών μνήμης διεύθυνσης, της εισόδου-εξόδου και του προγραμματισμού GUI. Για παράδειγμα, το C χρησιμοποιεί τις λειτουργίες calloc (), malloc () και free () για την κατανομή και την εκχώρηση μνήμης, ενώ η C ++ χρησιμοποιεί νέα και διαγραφή. Το C χρησιμοποιεί scanf () και printf () για την είσοδο και την έξοδο, ενώ το C ++ χρησιμοποιεί τους χειριστές cin >> και cout <<. Το C υποστηρίζει το εργαλείο GTK για προγραμματισμό GUI, ενώ το C ++ υποστηρίζει εργαλεία Qt για προγραμματισμό GUI. Μια άλλη διαφορά είναι ότι ο C απαιτεί να δηλώσει κανείς όλες τις μεταβλητές στην κορυφή του προγράμματος, ενώ στην C ++ οι μεταβλητές μπορούν να δηλωθούν οπουδήποτε στο πρόγραμμα.

Επιπλέον, η C ++ θεωρείται συνήθως ευκολότερη στην εκμάθηση, καθώς είναι πιο φιλική προς τον χρήστη από το C. C ++ έχει επίσης πολλές πρόσθετες λειτουργίες που διευκολύνουν την κωδικοποίηση, ειδικά για κάποιον που είναι νέος στο πλαίσιο C. Ωστόσο, πολλοί ισχυρίζονται ότι έχει πράγματι σημασία. Οι δύο γλώσσες διαφέρουν τόσο πολύ, ότι μπορούν στην πραγματικότητα να είναι δύο διαφορετικές γλώσσες ανεξάρτητες μεταξύ τους. Ένα πράγμα που πρέπει να θυμάστε είναι ότι το C είναι πολύ πιο δομημένο από το C ++, ενώ το C ++ σχεδιάστηκε για να είναι πιο εκφραστικό και αφηρημένο από το C.

Σύγκριση μεταξύ C και C ++:

ντο

C ++

Ιδρύθηκε το

Αναπτύχθηκε από τον Dennis Ritchie στα AT & T Bell Labs μεταξύ 1969 και 1973.

Αναπτύχθηκε από τον Bjarne Stroustrup στα Bell Labs ξεκινώντας το 1979.

Κωδικός πηγής

Κωδικός πηγής ελεύθερης μορφής

Αρχικά αναπτύχθηκε από τη γλώσσα προγραμματισμού C

Γλώσσα

Διαδικασία Προσανατολισμένη γλώσσα

Υποστηρίζει τόσο τα διαδικαστικά όσο και τα αντικειμενοστρεφή παραδείγματα προγραμματισμού. ως εκ τούτου συχνά ονομάζεται υβριδική γλώσσα.

Πλησιάζω

Ακολουθεί προσέγγιση από την κορυφή προς τη βάση.

Ακολουθεί προσέγγιση από τη βάση προς την κορυφή.

Σχέση

Το C είναι ένα υποσύνολο της C ++. Δεν μπορεί να εκτελέσει κώδικα C ++.

Το C ++ είναι ένα υπερσύνολο του C. Η C ++ μπορεί να τρέξει το μεγαλύτερο μέρος του κώδικα C ενώ ο C δεν μπορεί να τρέξει τον κώδικα C ++.

Οδηγώ

Λειτουργική γλώσσα

Γλώσσα που βασίζεται σε αντικείμενα

Συγκεντρώνω

Εστιάζει στη μέθοδο ή τη διαδικασία παρά στα δεδομένα.

Εστιάζει στα δεδομένα παρά στη μέθοδο ή τη διαδικασία.

Δομικά στοιχεία

Λειτουργίες

Αντικείμενα

Λέξεις κλειδιά

Περιέχει 32 λέξεις-κλειδιά

Περιέχει 52 λέξεις-κλειδιά

OOPS Έννοιες

Δεδομένου ότι η γλώσσα C είναι γλώσσα που καθοδηγείται από διαδικασίες, δεν υποστηρίζει έννοιες OOPS όπως τάξη, αντικείμενο, κληρονομιά, πολυμορφισμός, κρύψιμο δεδομένων κλπ.

Ως αντικειμενοστρεφής γλώσσα, το C ++ υποστηρίζει κλάση, αντικείμενο, κρύψιμο δεδομένων, πολυμορφισμό, κληρονομικότητα, αφαίρεση κλπ.

Λειτουργίες

  • Δεν υποστηρίζει τη λειτουργία και την υπερφόρτωση του χειριστή.
  • Δεν είναι δυνατή η χρήση λειτουργιών μέσα στις δομές
  • Δεν υποστηρίζει εικονικές λειτουργίες και μεταβλητές αναφοράς
  • Δεν υποστηρίζει χειρισμό εξαιρέσεων
  • δεν υποστηρίζει μεταβλητές αναφοράς
  • δεν έχει χαρακτηριστικό χώρο ονομάτων
  • μπορεί να καλέσει το main () Function μέσω άλλων λειτουργιών
  • Υποστηρίζει τη λειτουργία και την υπερφόρτωση του χειριστή.
  • Μπορεί να χρησιμοποιήσει λειτουργίες μέσα στις δομές
  • Υποστηρίζει εικονικές λειτουργίες και μεταβλητές αναφοράς.
  • Υποστηρίζει το χειρισμό των εξαιρέσεων χρησιμοποιώντας τη δοκιμή και το block block. Εξαιρέσεις χρησιμοποιούνται για "σκληρά" λάθη που καθιστούν τον κωδικό εσφαλμένο.
  • υποστηρίζει μεταβλητές αναφοράς
  • χρησιμοποιεί τη λειτουργία NAMESPACE η οποία αποφεύγει τις συγκρούσεις ονόματος.
  • δεν μπορεί να καλέσει κύρια () λειτουργία μέσω άλλων λειτουργιών.

Λειτουργίες μνήμης

Χρησιμοποιεί τις λειτουργίες calloc (), malloc () και free () για την κατανομή και την εκχώρηση της μνήμης.

Χρησιμοποιεί νέους χειριστές και διαγράφει για τον ίδιο σκοπό.

Ενθυλάκωση

Δεν υποστηρίζει. Τα δεδομένα και οι λειτουργίες είναι ξεχωριστές και ελεύθερες οντότητες.

Υποστηρίζει την ενθυλάκωση. Τα δεδομένα και οι λειτουργίες είναι ενθυλακωμένα μαζί με τη μορφή ενός αντικειμένου. Η κατηγορία αντικειμένων παρέχει ένα σχέδιο της δομής του αντικειμένου.

Κρυφή πληροφοριών

Το C δεν υποστηρίζει την απόκρυψη πληροφοριών. Εδώ, τα δεδομένα είναι ελεύθερες οντότητες και μπορούν να χρησιμοποιηθούν με εξωτερικό κώδικα.

Ο εγκλωβισμός αποκρύπτει τα δεδομένα για να διασφαλίσει ότι οι δομές δεδομένων και οι χειριστές χρησιμοποιούνται όπως προβλέπεται.

Δεδομένα

Υποστηρίζει ενσωματωμένους και πρωτόγονους τύπους δεδομένων.

Τα δεδομένα δεν είναι ασφαλή λόγω προσανατολισμού χωρίς αντικείμενα

Υποστηρίζει τόσο τους ενσωματωμένους όσο και τους χρήστες που ορίζουν τύπους δεδομένων.

Τα δεδομένα είναι ασφαλή (κρυφή) στη C ++

Επίπεδο

Γλώσσα χαμηλού επιπέδου

Γλώσσα μεσαίου επιπέδου

Εισόδου-εξόδου

Η γλώσσα 'C' χρησιμοποιεί scanf () και printf () για είσοδο και έξοδο.

Η γλώσσα 'C ++' χρησιμοποιεί τους χειριστές cin >> και cout << για την είσοδο και την έξοδο.

Δήλωση μεταβλητών

C απαιτεί ένα να δηλώσει όλες τις μεταβλητές στο πάνω μέρος του προγράμματος.

Στην C ++, οι μεταβλητές μπορούν να δηλωθούν οπουδήποτε στο πρόγραμμα πριν από τη χρήση.

Πολλαπλή δήλωση

Πολλαπλή δήλωση συνολικών μεταβλητών επιτρέπεται.

Πολλαπλή δήλωση συνολικών μεταβλητών δεν επιτρέπεται.

Χαρτογράφηση

Η χαρτογράφηση μεταξύ στοιχείων και λειτουργιών είναι δύσκολη και περίπλοκη.

Η χαρτογράφηση μεταξύ δεδομένων και λειτουργίας μπορεί να χρησιμοποιηθεί με τη χρήση "αντικειμένων"

Προγραμματισμός GUI

Το C υποστηρίζει το εργαλείο GTK για προγραμματισμό GUI

Το C ++ υποστηρίζει εργαλεία Qt για προγραμματισμό GUI

Κληρονομία

Η κληρονομικότητα δεν είναι δυνατή στο C

Η κληρονομικότητα είναι δυνατή στην C ++

Επέκταση αρχείου

Έχει επέκταση αρχείου .c

Έχει επέκταση αρχείου .cpp

Προκαθορισμένο αρχείο κεφαλίδας

Το προεπιλεγμένο αρχείο κεφαλίδας που χρησιμοποιείται στη γλώσσα C είναι stdio.h

Το προεπιλεγμένο αρχείο κεφαλίδας που χρησιμοποιείται στη C ++ είναι το iosteam.h

Μερικά παραδείγματα διαφορών μεταξύ C και C ++:

Παραδείγματα

ντο

C ++

Μεταβλητή δήλωση

Μόνο στην κορυφή:

int i;

για (i = 10, i <10, i ++)

Οπουδήποτε στο πρόγραμμα:

για το (int i = 10, i <10, i ++)

Κατανομή μνήμης

Malloc:

int * x = malloc (μέγεθοςof (int)).

int * x_array = malloc (μέγεθοςof (int) * 10);

Νέος:

int * x = νέο int;

int * x_array = νέο int [10];

Απελευθέρωση μνήμης

Ελεύθερος:

δωρεάν (x);

δωρεάν (x_array);

Διαγράφω:

διαγραφή x;

διαγραφή [] x_array;

Συνιστάται

Σχετικά Άρθρα

  • διαφορά μεταξύ: Διαφορά μεταξύ σποράς και φυτευτήρων

    Διαφορά μεταξύ σποράς και φυτευτήρων

    Βασική διαφορά: Τα σπορά και τα φυτά είναι δύο διαφορετικά στάδια ζωής ενός δέντρου. Ο σπαρμός αναφέρεται σε ένα πολύ νεαρό δέντρο που είναι λιγότερο από 1 ίντσα σε σχέση με το DBH (Διάμετρος στο ύψος του στήθους). Στάδιο δενδρυλλίων ακολουθείται από το στάδιο της φυτεύσεως που γενικά σημειώνεται από 1 έως 6 ίντσες στο πλαίσιο της DBH. Ο σπαρμός και το φυτά συσχετίζονται με δύο
  • διαφορά μεταξύ: Διαφορά μεταξύ του Samsung Galaxy S4 και του Galaxy Σημείωση II

    Διαφορά μεταξύ του Samsung Galaxy S4 και του Galaxy Σημείωση II

    Βασική διαφορά: Το Samsung Galaxy S4 είναι ο διάδοχος του πολύ δημοφιλούς Samsung Galaxy S3. Η εταιρεία διαθέτει νέα χαρακτηριστικά σε ένα ελαφρώς μικρότερο και πιο κομψό σχέδιο. Η οθόνη του τηλεφώνου έχει αυξηθεί σε μια εκπληκτική σχεδόν 5 ίντσες με μόνο ελαφρά μείωση του μεγέθους του τηλεφώνου. Η οθόνη είναι μια πλήρης HD Super AMOLED χωρητική οθόνη αφής που προσφέρει μεγαλύτερη ανάλυση 1080 pixels, σχεδόν πυκνότητα 441ppi. Το Samsung Galaxy Note II είναι ένα smartphone κατασκευασμένο από τη Samsung και
  • διαφορά μεταξύ: Διαφορά μεταξύ Ουάσιγκτον και Ουάσινγκτον DC

    Διαφορά μεταξύ Ουάσιγκτον και Ουάσινγκτον DC

    Βασική διαφορά: Η Ουάσινγκτον είναι ένα κράτος που βρίσκεται στην περιοχή Βορειοδυτικού Ειρηνικού της Αμερικής. Βρίσκεται βόρεια της πολιτείας του Όρεγκον και δυτικά της πολιτείας του Αϊντάχο. Η Ουάσιγκτον, από την άλλη πλευρά, είναι μια πόλη, και όχι καμία πόλη, είναι η πρωτεύουσα των Ηνωμένων Πολιτειών της Αμερικής. Η κύρια διαφορά μεταξύ των δύο είν
  • διαφορά μεταξύ: Διαφορά μεταξύ ορείχαλκου και χαλκού

    Διαφορά μεταξύ ορείχαλκου και χαλκού

    Διαφορά κλειδιού: Ο χαλκός είναι ένα κοκκινωπό χρώμα με χρώματα καφέ χρώματος γνωστό για τη δύναμή του και τη θερμική αγωγιμότητα. Ο ορείχαλκος είναι κράμα χαλκού και ψευδαργύρου. Οι ποικίλες αναλογίες χαλκού και ψευδαργύρου στον ορείχαλκο καθορίζουν τις ιδιότητες αυτού του κράματος. Ο χαλκός είναι ένα από τα σημαντικότερα μέ
  • διαφορά μεταξύ: Διαφορά μεταξύ παλιρροϊκού κύματος και τσουνάμι

    Διαφορά μεταξύ παλιρροϊκού κύματος και τσουνάμι

    Βασική διαφορά: Ένα παλιρροϊκό κύμα είναι ουσιαστικά μια μεγάλη παλίρροια που ανεβαίνει αρκετά γρήγορα ώστε να εμφανιστεί με τη μορφή ενός κύματος. Είναι μόνο επηρεάζεται από τις καιρικές συνθήκες και τη βαρυτική έλξη από τη Σελήνη και τον ήλιο. Ένα τσουνάμι, από την άλλη πλευρά, συμβαίνει όταν κάποιο γεγονός διαταράσσει τον ωκεανό. Συνήθως προκαλούνται από ένα γεωλογικό γεγονός, όπως σεισμό, ηφαιστειακή έκρηξη ή κατολίσθηση. Πολλοί θεωρούν ότι
  • διαφορά μεταξύ: Διαφορά μεταξύ Βόρειου Πόλου και Νότιας Πόλης

    Διαφορά μεταξύ Βόρειου Πόλου και Νότιας Πόλης

    Βασική διαφορά: Οι βόρειοι και νότιοι πόλοι είναι οι τελικοί πόλοι της Γης. Ο Βόρειος Πόλος είναι το βορειότερο σημείο του άξονα της Γης. κοινώς γνωστή ως περιοχή της Αρκτικής. Ενώ ο Νότιο Πόλος είναι το νοτιότερο σημείο του άξονα της Γης. κοινώς γνωστή ως η Ανταρκτική ήπειρος. Οι βόρειοι και νότιοι πόλοι της Γης είν
  • διαφορά μεταξύ: Διαφορά μεταξύ ορυκτών και οστικών

    Διαφορά μεταξύ ορυκτών και οστικών

    Βασική διαφορά: Τα οστά είναι ένα περίπλοκο κομμάτι του σώματος. Τα περισσότερα πλάσματα έχουν οστά στο σώμα τους, και όλα τα ζώα έχουν σίγουρα οστά. Τα οστά αποτελούν το σκελετικό σύστημα του σώματος, το οποίο εξυπηρετεί διάφορες λειτουργίες. Ένα απολίθωμα, από την άλλη πλευρά, είναι τα διατηρημένα υπολείμματα ή ίχνη ζώων, φυτών και άλλων οργανισμών από το απομακρυσμένο παρελθόν. Τα οστά είναι ένα περίπλοκο κομμάτι του σώματος. Τα περισσ
  • διαφορά μεταξύ: Διαφορά μεταξύ της επιταγής των ταξιδιωτών και του επιταγή του ταμείου

    Διαφορά μεταξύ της επιταγής των ταξιδιωτών και του επιταγή του ταμείου

    Διαφορά κλειδιού: Ο έλεγχος των ταξιδιωτών είναι μια προεκτυπωμένη σημείωση που έχει έναν αριθμό που έχει εκτυπωθεί σε αυτό. Αυτό το έγγραφο μπορεί να χρησιμοποιηθεί για την αντικατάσταση του σκληρού νομίσματος και χρησιμοποιείται συχνά όταν ταξιδεύετε στο εξωτερικό. Ο έλεγχος του ταμείου είναι έλεγχος στην οποία τα χρήματα είναι εγγυημένα από την τράπεζα. Ο εκδότης θα παρείχε στην τράπεζα έλεγχο για το πόσα χρήματα θέλει να πληρώσει κάποιον συν το τέλος της έκδοσης του ταμείου. Η επιταγή
  • διαφορά μεταξύ: Διαφορά μεταξύ χαρτιού περγαμηνής και χαρτιού καταψύκτη

    Διαφορά μεταξύ χαρτιού περγαμηνής και χαρτιού καταψύκτη

    Διαφορά κλειδιού: Το χαρτί περγαμηνής, γνωστό και ως χαρτί ψησίματος, είναι χαρτί με βάση κυτταρίνη το οποίο χρησιμοποιείται κυρίως στο ψήσιμο ως υποκατάστατο της λίπανσης. Το χαρτί κατάψυξης είναι ένα χαρτί βαρέως βάρους που είναι επενδεδυμένο με λεπτό πλαστικό στη μία πλευρά και χρησιμοποιείται κυρίως για την κα

Επιλογή Συντάκτη

Διαφορά μεταξύ γάλακτος και συμπυκνωμένου γάλακτος

Βασική διαφορά: Το γάλα είναι ένα θρεπτικό υγρό που εκκρίνεται από τους μαστικούς αδένες των διαφόρων θηλυκών από το ζωικό βασίλειο όπως η αγελάδα, η κατσίκα και το ελάφι. Το συμπυκνωμένο γάλα είναι αγελαδινό γάλα από το οποίο δεν έχει αφαιρεθεί καμία κρέμα αλλά νερό. Το Dictionary.com ορίζει το «Milk» ως: Έν