- Geschiedenis
- Ontwerp en implementatie
- Eerste uitgave
- C 2.0
- Gestandaardiseerde versie
- Recente updates
- C ++ - functies
- Populaire taal
- Object georiënteerd
- Procedureel
- Gestructureerd programmeren
- Geheugen management
- Aanwijzers
- Gecompileerde taal
- Gegevenstypen in C ++
- - Primair
- Int
- Vlotter
- Char
- Dubbele
- Leeg (Null)
- Bool
- - Ondergeschikt
- Regelingen
- Aanwijzers
- Kenmerken
- - Gebruiker gedefinieerde
- Structuren
- Unie
- Waar is C ++ voor? Toepassingen
- Toepassingen
- Besturingssystemen
- Compilers
- Spellen
- web browsers
- Internet van dingen
- Cloud / gedistribueerde systemen
- Toegang tot databases
- Voorbeelden
- Bibliotheken
- Voordeel
- Snelheid
- Dicht bij hardware
- Efficiëntie
- Vrijheid om programmeerstijlen te kiezen
- Mogelijkheid om complexe problemen op te lossen
- Mogelijkheid om fouten te detecteren voordat ze worden uitgevoerd
- Nadelen
- Gebruik van aanwijzingen
- Veiligheidsproblemen
- Geen vuilnisman
- Afwezigheid van een draad
- Gecompileerde programma's
- Kan complex zijn
- Referenties
C ++ is een verbeterde en uitgebreide versie van de programmeertaal C, die in 1979 door Stroustrup werd ontwikkeld als onderdeel van zijn Ph.D.-project. Stroustrup ontwierp wat hij "C met klassen" noemde, dat later C ++ werd genoemd, omdat hij geloofde dat bestaande programmeertalen beperkingen hadden en niet de beste waren voor grootschalige projecten.
Daarom gebruikte hij C om de programmeertaal te ontwikkelen waarnaar hij op zoek was, want C was een effectieve taal en snel te bedienen.
Bron: pixabay.com
C ++ is een programmeertaal voor algemene doeleinden die verfijnd en krachtig is. Deze gecompileerde, vrije taal is het meest geschikt voor programmeurs op gemiddeld niveau.
Degenen die echter willen beginnen met programmeren met C ++, zullen merken dat ze snel programmeerconcepten kunnen leren waarmee ze een heel eind in hun carrière kunnen komen.
Het is compatibel met objectgeoriënteerd programmeren en neemt al zijn kenmerken over. Deze concepten maken de C ++ -taal anders en wordt voornamelijk gebruikt om op een eenvoudige en geconceptualiseerde manier applicaties te ontwikkelen.
Geschiedenis
Ontwerp en implementatie
C ++ is in 1980 ontworpen en geïmplementeerd door Bjarne Stroustrup bij AT&T Bell Labs, waarbij de concepten van procedureel en objectgeoriënteerd programmeren prachtig samenvloeien.
In de C-taal wordt de operator ++ gebruikt om een variabele te verhogen, waardoor Stroustrup's idee dat C ++ de volgende generatie van de C-taal zou zijn, zichtbaar wordt.
Eerste uitgave
C ++ werd in 1985 voor het eerst op de markt uitgebracht. In 1986 publiceerde Stroustrup zijn beroemde boek genaamd The C ++ Programming Language, waarmee hij de referentiehandleiding voor de taal werd.
C 2.0
De belangrijkste release van C ++ was C 2.0 in 1989, gedocumenteerd door Ellis en Stroustrup in The C ++ Annotated Reference Manual. Het was een totaal objectgeoriënteerde taal.
Gestandaardiseerde versie
De eerste gestandaardiseerde versie, C ++ 98, werd uitgebracht in 1998. Deze internationale standaard voor C ++ is ontwikkeld door het American National Standards Institute (ANSI) en de International Standards Organization (ISO).
In 2003 werd de volgende C ++ 03-standaard gepubliceerd met de bedoeling om in C ++ 98 geïdentificeerde fouten te corrigeren en ervoor te zorgen dat de taal beter overdraagbaar en consistent was.
Recente updates
De volgende grote update van de taal kwam in 2011 en heette C ++ 11. Er zijn verschillende functies toegevoegd om de runtime-prestaties te verbeteren.
Toen werd C ++ 14 uitgebracht, waar enkele verbeteringen werden aangebracht en bugfixes voor C ++ 11. De volgende versie die in 2017 werd uitgebracht, was C ++ 17, dat verschillende nieuwe functies en een veel uitgebreidere standaardbibliotheek heeft.
C ++ - functies
Populaire taal
C ++ wordt veel gebruikt door ontwikkelaars, voornamelijk in applicaties. Het bevat alle belangrijke onderdelen, zoals een kerntaal die alle vereiste ontwikkelblokken biedt, zoals variabelen, gegevenstypen, literals, etc.
Het is de vierde meest populaire programmeertaal, volgens de TIOBE-programmeergemeenschapsindex.
Het gebruik van C ++ maakt het de handigste taal vanwege zijn kenmerken. Het is de eerste opstarttaal voor elke ontwikkelaar die geïnteresseerd is in het werken met programmeertalen. Het is gemakkelijk te leren omdat het een puur concepttaal is.
De syntaxis is heel eenvoudig, waardoor het gemakkelijk te schrijven is en fouten gemakkelijk kunnen worden gerepliceerd. Voordat ze een andere taal gebruikten, hebben programmeurs er de voorkeur aan gegeven eerst C ++ te leren en dan andere te gebruiken.
De meeste ontwikkelaars proberen echter bij C ++ te blijven vanwege de grote verscheidenheid aan gebruik en compatibiliteit met meerdere platforms en software.
Object georiënteerd
De belangrijkste upgrade van C naar C ++ is objectgeoriënteerd programmeren. Dit betekent dat de focus ligt op de "objecten" en de behandeling rondom deze objecten.
Het volgt de concepten van polymorfisme, overerving, inkapseling en abstractie, waardoor ontwikkeling en onderhoud wordt vergemakkelijkt.
Procedureel
C ++ ondersteunt het concept van procedures en subroutines, die codesegmenten omsluiten in herbruikbare blokken, die kunnen worden "opgeroepen" om individuele taken uit te voeren.
Procedures en subroutines staan bekend als functies in C ++. Een functie kan nul of meer parameters aannemen en nul of een waarde retourneren.
Gestructureerd programmeren
De C ++ - code is modulair, met ondersteuning van functies, klassen en objecten, waarbij de modules vrij passen.
De flow control-statements in C ++ zijn vergelijkbaar met die in veel andere gestructureerde programmeertalen. Dit zijn if-else om beslissingslogica te implementeren, en for, while en do-while om iteraties of lussen te implementeren.
Geheugen management
C ++ ondersteunt dynamische geheugentoewijzing. Zo kunt u het toegewezen geheugen op elk moment vrijmaken.
Aanwijzers
Het zijn variabelen die het adres van een andere variabele opslaan. De aanwijzer wijst naar de geheugenlocatie van een variabele. C ++ ondersteunt verwijzingen om oplossingen te bieden voor veel problemen die toegang tot de geheugenlocatie vereisen.
Gecompileerde taal
Voordat het kan worden uitgevoerd, moet een C ++ -programma worden vertaald in de oorspronkelijke instructies van de doelmachine door een programma dat een compiler wordt genoemd. Zonder compilatie kan geen C ++ -programma worden uitgevoerd. De compiler compileert het C ++ -programma zodat het later kan worden uitgevoerd.
Gegevenstypen in C ++
- Primair
Int
Het wordt gebruikt om hele getallen op te slaan. Het geheugen dat het inneemt, is afhankelijk van de compiler (32 of 64 bits). Het neemt 4 bytes aan geheugen in beslag bij het werken met een 32-bits compiler.
Vlotter
Het wordt gebruikt om breuken op te slaan met maximaal 7 decimalen. Het staat bekend als een drijvende-komma-type met enkele precisie. Het neemt 4 bytes aan geheugen in beslag.
Char
Het wordt gebruikt om een set van alle karakters op te slaan. Het kan letters van het alfabet, cijfers en ook speciale tekens bevatten. Het neemt 1 byte aan geheugen in beslag, omdat het de kleinste adresseerbare eenheid in een machine is.
Dubbele
Wordt gebruikt om breuken tot 15-16 decimalen op te slaan. Het is algemeen bekend als een drijvende-komma-type met dubbele precisie.
Leeg (Null)
Geeft nul of geen retourwaarde aan. Over het algemeen gebruikt om de null-waarde toe te wijzen bij het declareren van een functie.
Bool
Dit gegevenstype verwijst naar een Booleaanse of logische waarde. Het kan de waarde true of false hebben.
- Ondergeschikt
Regelingen
Het is een set gegevens met hetzelfde type gegevens, waartoe toegang wordt verkregen via een algemene naam.
Aanwijzers
Het zijn in feite variabelen die worden gebruikt om het geheugenadres van een andere variabele op te slaan.
Kenmerken
Het is een groep zinnen die een specifieke taak uitvoeren. Functies zijn ingebouwde of door de gebruiker gedefinieerde bibliotheken.
- Gebruiker gedefinieerde
Structuren
Het is een soort gegevens waarin een verzameling van verschillende soorten gegevens kan worden gemaakt en toegankelijk via een object.
Unie
Biedt de mogelijkheid om verschillende soorten gegevens op dezelfde geheugenlocatie op te slaan.
Waar is C ++ voor? Toepassingen
Toepassingen
Veel applicaties op Adobe-systemen zijn ontwikkeld in C ++, zoals Illustrator, Photoshop, Adobe Premiere en Image Ready.
Besturingssystemen
C ++ wordt gebruikt in alle belangrijke besturingssystemen, zoals Linux, Windows en macOS, omdat het een programmeertaal op laag niveau is.
Compilers
De meeste compilers zijn geschreven in de taal C ++. Ook compilers die worden gebruikt om andere talen te compileren, zoals C #, Java, etc.
Spellen
Het dient om de complexiteit van 3D-games te elimineren en hulpbronnen te optimaliseren. Bovendien is het compatibel met de multiplayer-optie in netwerken.
web browsers
Het maakt een snelle uitvoering en weergave van afbeeldingen mogelijk, wat cruciaal is voor huidige gebruikers, die inhoud willen die snel in webbrowsers kan verschijnen. C ++ werd gebruikt om de internetbrowsers Google Chrome en Mozilla Firefox te maken.
Internet van dingen
Verschillende Internet of Things-producten, zoals smartwatches, auto's, wasmachines, routers en switches, gebruiken C ++ omdat ze code nodig hebben die zo dicht mogelijk bij de hardware staat.
Cloud / gedistribueerde systemen
Het wordt gebruikt in de cloud in opslagsystemen en gedistribueerde systemen, waar schaalbare bestandssystemen nauw moeten samenwerken met de hardware en compatibiliteit met verschillende machines ook van cruciaal belang is.
Toegang tot databases
Het wordt gebruikt om open source databasesoftware te ontwikkelen. Een zeer populaire databasebeheersoftware die in organisaties wordt gebruikt, MySQL, is geschreven in C ++ dankzij de voordelen die het biedt.
Er zijn andere toepassingen die zijn gebaseerd op toegang tot databasesoftware, namelijk Wikipedia, Yahoo, YouTube, Quora, enz.
Voorbeelden
Dit programma ontvangt een positief geheel getal van de gebruiker en slaat dit op in de variabele n. Vervolgens wordt de for-lus uitgevoerd, die controleert of het ingevoerde nummer perfect deelbaar is door io of niet.
De for-lus begint met een beginwaarde van i gelijk aan 2, waarbij de waarde van i bij elke iteratie toeneemt. Als het door de gebruiker ingevoerde nummer perfect deelbaar is door i, wordt isPrime ingesteld op false en zal het nummer geen priemgetal zijn.
Als het getal echter niet perfect deelbaar is door i totdat de testvoorwaarde i <= n / 2 waar is, betekent dit dat het alleen deelbaar is door 1 en datzelfde getal. Het gegeven nummer is dus een priemgetal.
Bibliotheken
Ontwikkelaars hebben toegang tot veel ingebouwde functies die worden geboden door de C ++ -taal. Dit bespaart tijd en versnelt de ontwikkeling. Enkele van de C ++ header-bestanden met hun geleverde functionaliteiten zijn:
- iomanip: bevat flowhandlers die de datastromen formatteren.
- iostream: bevat standaard invoer- en uitvoerfuncties.
- cstdlib: bevat de functie om getallen naar tekst te converteren en vice versa,
- cmath: bevat wiskundebibliotheekfuncties, geheugentoewijzing, willekeurige getallen en diverse andere handige functies.
- fstream: bevat functies die invoer en uitvoer van bestanden op schijf uitvoeren.
- ctime: bevat de functie om de tijd en datum af te handelen.
- geheugen: bevat klassen en functies die door de C ++ - standaardbibliotheek worden gebruikt om geheugen toe te wijzen.
Voordeel
Snelheid
Omdat C ++ een uitgebreide versie is van C, een programmeertaal op laag niveau, is het een van de snelste beschikbare talen. Dit maakt het nuttig op die gebieden waar de vereiste prestatie van cruciaal belang is.
Dicht bij hardware
C ++ is een van de programmeertalen die het dichtst bij hardware staat. Dit is erg voordelig in die ruimtes waar de software een nauwe relatie met de hardware moet hebben om efficiënt low-level support uit te voeren.
Efficiëntie
C ++ heeft een standaardbibliotheek met sjablonen die op grote schaal kunnen worden gebruikt bij het coderen. Deze bibliotheken bieden efficiënte algoritmen waarmee de programmeur tijd en moeite kan besparen, die anders verspild zou worden aan het maken van code.
Vrijheid om programmeerstijlen te kiezen
C ++ ondersteunt ongeveer zeven verschillende coderingsstijlen, waardoor het een programmeertaal met meerdere modellen is. U kunt dus een stijl selecteren die past bij een bepaald gebruik, zonder dat u objecten hoeft te gebruiken.
Mogelijkheid om complexe problemen op te lossen
C ++ kan complexe problemen intuïtief oplossen door objecten te maken. Bovendien kunt u met C ++ -functies uw code verdelen in codeblokken die duidelijk, gemakkelijk te begrijpen en gemakkelijk te testen en aan te passen zijn.
Mogelijkheid om fouten te detecteren voordat ze worden uitgevoerd
C ++ heeft een statisch type, wat betekent dat de compiler geen aannames doet over wat de programmeur schrijft. Het voordeel is dat de compiler fouten en storingen kan opvangen voordat deze wordt uitgevoerd, wat op de lange termijn tijd kan besparen.
Nadelen
Gebruik van aanwijzingen
Aanwijzingen zijn een relatief moeilijk concept om te begrijpen en verbruiken ook veel geheugen. Misbruik van de aanwijzer kan ertoe leiden dat het systeem vastloopt of zich abnormaal gedraagt.
Een groot probleem is wanneer de gegevens vanuit twee verschillende uitgangspunten naar hetzelfde wijzen, wat een aanzienlijk probleem veroorzaakt, waardoor verwarrende problemen binnen de codering ontstaan.
Veiligheidsproblemen
Hoewel objectgeoriënteerd programmeren veel beveiliging biedt aan de gegevens die worden verwerkt, zijn er toch enkele beveiligingsproblemen vanwege de beschikbaarheid van vriendfuncties, globale variabelen en verwijzingen.
Geen vuilnisman
C ++ geeft de gebruiker volledige controle over het beheer van het computergeheugen. Het mist de functie van een garbage collector om automatisch onnodige gegevens uit te filteren en ondersteunt daarom geen dynamische geheugentoewijzing.
Afwezigheid van een draad
C ++ ondersteunt geen ingebouwde threads. Het concept thread is relatief nieuw in C ++, omdat het oorspronkelijk niet bestond. Nu kan C ++ lambda-functies ondersteunen.
Gecompileerde programma's
Als compileertaal zijn uitvoerbare bestanden die door de compiler op basis van de broncode zijn gemaakt, niet draagbaar en zullen ze alleen draaien op het doelplatform (hardware plus besturingssysteem) waarvoor ze zijn gecompileerd, of een ondersteund binair platform.
Kan complex zijn
C ++ kan complex zijn, omdat het klassen toestaat, dit zijn functies met dezelfde naam. Daarom moet een symboolbehandelingssysteem worden gebruikt. Bovendien is het complex voor een zeer groot programma op hoog niveau. C ++ wordt vaak gebruikt voor platformspecifieke toepassingen.
Referenties
- Simplilearn (2020). C ++ programmeren voor beginners: geschiedenis, voordelen en toepassingen. Genomen van: simplilearn.com.
- Educba (2020). Gebruik van C ++ in de echte wereld. Genomen van: educba.com.
- Dmitrii Rassokhin (2020). De C ++ programmeertaal in cheminformatica en computationele chemie. Journal of Cheminformatics. Genomen uit: jcheminf.biomedcentral.com.
- Edureka! (2020). Wat zijn de 10 belangrijkste functies van C ++? Genomen uit: edureka.co.
- Aman Goel (2020). C ++ - taal: kenmerken, gebruik, toepassingen en voordelen. Hack. Ontleend aan: hackr.io.
- Steemit (2020). C ++: leer coderen. Geschiedenis, voordelen, nadelen van C ++ -taal. Genomen van: steemit.com.
- Gegevens Flair (2019). Leer gegevenstypen in C en C ++ met voorbeeld in slechts 4 minuten. Ontleend aan: data-flair.training.