Storia, caratteristiche, tipi di dati, esempi di C ++

4581
David Holt

C++ è una versione migliorata ed estesa del linguaggio di programmazione C, sviluppato da Stroustrup nel 1979 come parte del loro progetto di dottorato. Stroustrup ha progettato quello che ha chiamato "C con classi", che in seguito è stato chiamato C ++, perché riteneva che i linguaggi di programmazione esistenti avessero dei limiti e non fossero i migliori per progetti su larga scala.

Questo è il motivo per cui ha usato il C per sviluppare il linguaggio di programmazione che stava cercando, perché il C era un linguaggio efficace e veloce da lavorare..

Fonte: pixabay.com

C ++ è un linguaggio di programmazione generico, raffinato e potente. Questo linguaggio compilato e in formato libero è più adatto per i programmatori di livello intermedio.

Tuttavia, coloro che vogliono iniziare a programmare con C ++ scopriranno di poter apprendere rapidamente concetti di programmazione che li porteranno lontano nella loro carriera..

È compatibile con la programmazione orientata agli oggetti, assumendone tutte le caratteristiche. Questi concetti rendono il linguaggio C ++ diverso e viene utilizzato principalmente per sviluppare applicazioni in modo semplice e concettualizzato..

Indice articolo

  • 1 Storia
    • 1.1 Progettazione e implementazione
    • 1.2 Versione iniziale
    • 1.3 C 2.0
    • 1.4 Versione standardizzata
    • 1.5 Aggiornamenti recenti
  • 2 Caratteristiche di C++
    • 2.1 Lingua popolare
    • 2.2 Orientato agli oggetti
    • 2.3 procedurale
    • 2.4 Programmazione strutturata
    • 2.5 Gestione della memoria
    • 2.6 Puntatori
    • 2.7 Linguaggio compilato
  • 3 Tipi di dati in C++
    • 3.1 - Primaria
    • 3.2 - Secondario
    • 3.3 - Definito dall'utente
  • 4 A cosa serve il C ++? Applicazioni
    • 4.1 Applicazioni
    • 4.2 Sistemi operativi
    • 4.3 Compilatori
    • 4.4 Giochi
    • 4.5 Browser web
    • 4.6 Internet delle cose
    • 4.7 Cloud / Sistemi distribuiti
    • 4.8 Accesso ai database
  • 5 esempi
    • 5.1 Biblioteche
  • 6 vantaggi
    • 6.1 Velocità
    • 6.2 Vicino all'hardware
    • 6.3 Efficienza
    • 6.4 Libertà di scegliere gli stili di programmazione
    • 6.5 Capacità di scomporre problemi complessi
    • 6.6 Capacità di rilevare errori prima dell'esecuzione
  • 7 Svantaggi
    • 7.1 Uso dei puntatori
    • 7.2 Problemi di sicurezza
    • 7.3 Assenza di garbage collector
    • 7.4 Assenza di thread
    • 7.5 Programmi compilati
    • 7.6 Può essere complesso
  • 8 Riferimenti

Storia

Progettazione e realizzazione

C ++ è stato progettato e implementato nel 1980 da Bjarne Stroustrup presso AT&T Bell Labs, fondendo magnificamente i concetti di programmazione procedurale e orientata agli oggetti..

Nel linguaggio C l'operatore ++ è usato per incrementare una variabile, manifestando così l'idea di Stroustrup che il C ++ fosse la prossima generazione del linguaggio C.

Versione iniziale

C ++ è stato rilasciato nel 1985 per la prima volta sul mercato. Nel 1986, Stroustrup ha pubblicato il suo famoso libro intitolato Il linguaggio di programmazione C.++, diventando il manuale di riferimento della lingua.

C 2.0

La versione più importante di C ++ è stata C 2.0 nel 1989, documentata da Ellis e Stroustrup in Manuale di riferimento con annotazioni di C.++. Era un linguaggio totalmente orientato agli oggetti.

Versione standardizzata

La prima versione standardizzata, C ++ 98, è stata rilasciata nel 1998. Questo standard internazionale per C ++ è stato sviluppato dall'American National Standards Institute (ANSI) e dall'International Standards Organization (ISO).

Nel 2003, il seguente standard C ++ 03 è stato pubblicato con l'intenzione di correggere gli errori identificati in C ++ 98 e garantire che il linguaggio avesse una maggiore portabilità e coerenza.

Aggiornamenti recenti

Il successivo importante aggiornamento del linguaggio è arrivato nel 2011 e si chiamava C ++ 11. Sono state aggiunte diverse funzionalità per migliorarne le prestazioni di runtime..

Quindi è stato rilasciato C ++ 14, dove sono stati apportati alcuni miglioramenti e sono stati corretti i bug di C ++ 11. La versione successiva rilasciata nel 2017 è stata C ++ 17, che ha diverse nuove funzionalità e una libreria standard molto più ampia..

Caratteristiche di C++

Lingua popolare

Il C ++ è ampiamente utilizzato dagli sviluppatori, principalmente nelle applicazioni. Contiene tutte le parti importanti, come un linguaggio centrale che fornisce tutti i blocchi di sviluppo richiesti, come variabili, tipi di dati, valori letterali, ecc..

È il quarto linguaggio di programmazione più popolare, secondo l'indice della comunità di programmazione TIOBE.

Gli usi del C ++ lo rendono il linguaggio più conveniente, per le sue caratteristiche. È il primo linguaggio di avvio per qualsiasi sviluppatore interessato a lavorare con i linguaggi di programmazione. È facile da imparare in quanto è un linguaggio puramente basato su concetti.

La sua sintassi è molto semplice, facilitando la scrittura e gli errori possono essere facilmente replicati. Prima di utilizzare qualsiasi altro linguaggio, i programmatori hanno preferito imparare prima il C ++ e poi utilizzare altri linguaggi..

Tuttavia, la maggior parte degli sviluppatori cerca di attenersi al C ++ a causa della sua ampia varietà di utilizzo e compatibilità con più piattaforme e software..

Orientato agli oggetti

Il principale aggiornamento da C a C ++ è la programmazione orientata agli oggetti. Ciò significa che il focus è sugli "oggetti" e sulla manipolazione attorno a questi oggetti..

Segui i concetti di polimorfismo, ereditarietà, incapsulamento e astrazione, facilitando lo sviluppo e il mantenimento.

Procedurale

C ++ supporta il concetto di procedure e subroutine, che racchiudono segmenti di codice in blocchi riutilizzabili, che possono essere "chiamati" per eseguire singole attività.

Le procedure e le subroutine sono note come funzioni in C ++. Una funzione può accettare zero o più parametri e restituire zero o un valore.

Programmazione strutturata

Il codice in C ++ è modulare, con il supporto di funzioni, classi e oggetti, i moduli sono liberamente accoppiati.

Le istruzioni di controllo del flusso in C ++ sono simili a quelle che si trovano in molti altri linguaggi di programmazione strutturati. Questi sono if-else per implementare la logica decisionale e for, while e do-while per implementare iterazioni o cicli..

Gestione della memoria

C ++ supporta l'allocazione dinamica della memoria. Pertanto, puoi liberare la memoria allocata in qualsiasi momento.

Puntatori

Sono variabili che memorizzano l'indirizzo di un'altra variabile. Il puntatore punta alla posizione di memoria di una variabile. C ++ supporta i puntatori per fornire soluzioni a molti problemi che richiedono l'accesso alla posizione di memoria.

Linguaggio compilato

Prima di poter essere eseguito, un programma C ++ deve essere tradotto nelle istruzioni native della macchina di destinazione da un programma chiamato compilatore. Senza compilazione, nessun programma C ++ può essere eseguito. Il compilatore compila il programma C ++ in modo che possa essere eseguito in seguito.

Tipi di dati in C++

- Primario

Int

Viene utilizzato per memorizzare numeri interi. La memoria che occupa dipende dal compilatore (32 o 64 bit). Occupa 4 byte di memoria quando si lavora con un compilatore a 32 bit.

Galleggiante

Viene utilizzato per memorizzare frazioni fino a 7 cifre decimali. È noto come tipo a virgola mobile a precisione singola. Occupa 4 byte di memoria.

Char

Viene utilizzato per memorizzare un set di tutti i caratteri. Può includere lettere dell'alfabeto, numeri e anche caratteri speciali. Occupa 1 byte di memoria, essendo la più piccola unità indirizzabile di una macchina.

Doppio

Viene utilizzato per memorizzare frazioni fino a 15-16 cifre decimali. Normalmente indicato come tipo a virgola mobile a doppia precisione.

Vuoto (null)

Indica zero o nessun valore di ritorno. Generalmente utilizzato per assegnare il valore null quando si dichiara una funzione.

Bool

Questo tipo di dati fa riferimento a un valore booleano o logico. Può assumere il valore di vero o falso.

- Secondario

Arrangiamenti

È un insieme di dati che hanno lo stesso tipo di dati, a cui si accede tramite un nome comune.

Puntatori

Sono fondamentalmente variabili che vengono utilizzate per memorizzare l'indirizzo di memoria di un'altra variabile.

Caratteristiche

È un gruppo di frasi che svolgono un compito specifico. Le funzioni sono librerie incorporate o definite dall'utente.

- Definito dall'utente

Strutture

È un tipo di dati in cui è possibile creare una raccolta di diversi tipi di dati e accedervi tramite un oggetto.

Unione

Fornisce la possibilità di memorizzare diversi tipi di dati nella stessa posizione di memoria.

A cosa serve il C ++? Applicazioni

Applicazioni

Molte applicazioni sui sistemi Adobe sono sviluppate in C ++, come Illustrator, Photoshop, Adobe Premiere e Image Ready.

Sistemi operativi

C ++ è utilizzato in tutti i principali sistemi operativi, come Linux, Windows e macOS, poiché è un linguaggio di programmazione di basso livello.

Compilatori

La maggior parte dei compilatori sono scritti nel linguaggio C ++. Anche i compilatori utilizzati per compilare altri linguaggi, come C #, Java, ecc..

Giochi

Serve ad eliminare la complessità dei giochi 3D, aiutando a ottimizzare le risorse. Inoltre, è compatibile con l'opzione multiplayer nelle reti.

Browser web

Consente una rapida esecuzione e rappresentazione della grafica, che è fondamentale per gli utenti attuali, che richiedono contenuti che possono apparire rapidamente nei browser web. C ++ è stato utilizzato per rendere i browser Internet Google Chrome e Mozilla Firefox.

Internet delle cose

Vari prodotti Internet of Things, come smartwatch, automobili, lavatrici, router e switch, utilizzano C ++ perché richiedono un codice il più vicino possibile all'hardware.

Sistemi cloud / distribuiti

Viene utilizzato nel cloud nei sistemi di archiviazione e nei sistemi distribuiti, dove i file system scalabili devono lavorare a stretto contatto con l'hardware e anche la compatibilità con macchine diverse è fondamentale.

Accesso ai database

Viene utilizzato per sviluppare software di database open source. Un software di amministrazione di database molto popolare utilizzato nelle organizzazioni, MySQL, è scritto in C ++ grazie ai vantaggi che offre.

Esistono altre applicazioni basate sull'accesso al software di database, che sono Wikipedia, Yahoo, YouTube, Quora, ecc..

Esempi

Questo programma riceve un numero intero positivo dall'utente e lo memorizza nella variabile n. Quindi viene eseguito il ciclo for, che controlla se il numero inserito è perfettamente divisibile per i oppure no.

Il ciclo for inizia con un valore iniziale di i uguale a 2, aumentando il valore di i ad ogni iterazione. Se il numero inserito dall'utente è perfettamente divisibile per i, isPrime è impostato su false e il numero non sarà un numero primo.

Tuttavia, se il numero non è perfettamente divisibile per i fino alla condizione di test i <= n / 2 sea verdadera significa que solo es divisible entre 1 y ese mismo número. Entonces, el número dado es un número primo.

Biblioteche

Gli sviluppatori hanno accesso a molte funzioni integrate fornite dal linguaggio C ++. Ciò consente di risparmiare tempo e velocizza lo sviluppo. Alcuni dei file di intestazione C ++ con le funzionalità fornite sono:

- iomanip: contiene gestori di flussi che formattano i flussi di dati.

- iostream: contiene le funzioni di input e output standard.

- cstdlib: contiene la funzione per convertire i numeri in testo e viceversa,

- cmath - Contiene funzioni di libreria matematica, allocazione di memoria, numeri casuali e varie altre funzioni di utilità.

- fstream: contiene funzioni che eseguono l'input e l'output di file su disco.

- ctime: contiene la funzione per gestire l'ora e la data.

- memoria: contiene classi e funzioni usate dalla libreria standard C ++ per allocare memoria.

Vantaggio

Velocità

Poiché C ++ è una versione estesa di C, che è un linguaggio di programmazione di basso livello, è uno dei linguaggi più veloci disponibili. Ciò lo rende utile in quelle aree in cui le prestazioni richieste sono critiche..

Vicino all'hardware

Il C ++ è uno dei linguaggi di programmazione più vicini all'hardware. Ciò è molto vantaggioso in quegli spazi in cui il software deve avere una stretta relazione con l'hardware per poter eseguire in modo efficiente un supporto di basso livello..

Efficienza

C ++ ha una libreria standard di modelli che possono essere ampiamente utilizzati durante la codifica. Queste librerie forniscono algoritmi efficienti che consentono al programmatore di risparmiare tempo e fatica che altrimenti andrebbero sprecati nella creazione del codice..

Libertà di scegliere gli stili di programmazione

Il C ++ supporta circa sette diversi stili di codifica, il che lo rende un linguaggio di programmazione multi-modello. Pertanto, è possibile selezionare uno stile che si adatta a un caso d'uso particolare, senza dover utilizzare oggetti.

Capacità di abbattere problemi complessi

Il C ++ può risolvere problemi complessi in modo intuitivo creando oggetti. Inoltre, le funzioni C ++ consentono di dividere il codice in blocchi di codice chiari, facili da capire e facili da testare e modificare..

Capacità di rilevare errori prima dell'esecuzione

C ++ ha un tipo statico, il che significa che il compilatore non fa supposizioni su ciò che scrive il programmatore. Il vantaggio è che il compilatore può rilevare gli errori e gli errori prima dell'esecuzione, il che può far risparmiare tempo a lungo termine.

Svantaggi

Uso di puntatori

I puntatori sono un concetto relativamente difficile da capire e consumano anche molta memoria. Un uso improprio del puntatore può causare l'arresto anomalo del sistema o un comportamento anomalo.

Un problema importante è quando i dati puntano allo stesso da due diversi punti di partenza, causando un problema significativo, generando problemi di confusione all'interno della codifica.

Problemi di sicurezza

Sebbene la programmazione orientata agli oggetti fornisca molta sicurezza ai dati gestiti, ci sono ancora alcuni problemi di sicurezza dovuti alla disponibilità di funzioni amico, variabili globali e puntatori.

Nessun netturbino

C ++ offre all'utente il controllo completo della gestione della memoria del computer. Manca la funzione di un garbage collector per filtrare automaticamente i dati non necessari e quindi non supporta l'allocazione dinamica della memoria.

Assenza di un filo

C ++ non supporta i thread incorporati. Il concetto di thread è relativamente nuovo in C ++, poiché originariamente non esisteva. Ora C ++ è in grado di supportare le funzioni lambda.

Programmi compilati

In quanto linguaggio compilato, i file eseguibili prodotti dal compilatore dal codice sorgente non sono portabili e verranno eseguiti solo sulla piattaforma di destinazione (hardware più sistema operativo) per cui sono stati compilati o su una piattaforma binaria compatibile..

Può essere complesso

Il C ++ può essere complesso, poiché consente classi, che sono funzioni con lo stesso nome. Pertanto, è necessario utilizzare un sistema di gestione dei simboli. Inoltre, è complesso per un programma di alto livello molto ampio. C ++ è comunemente usato per applicazioni specifiche della piattaforma.

Riferimenti

  1. Simplilearn (2020). Programmazione C ++ per principianti: storia, vantaggi e applicazioni. Tratto da: simplilearn.com.
  2. Educba (2020). Usi di C ++ nel mondo reale. Tratto da: educba.com.
  3. Dmitrii Rassokhin (2020). Il linguaggio di programmazione C ++ in cheminformatica e chimica computazionale. Journal of Cheminformatics. Tratto da: jcheminf.biomedcentral.com.
  4. Edureka! (2020). Quali sono le 10 principali funzionalità di C ++? Tratto da: edureka.co.
  5. Aman Goel (2020). Linguaggio C ++: caratteristiche, usi, applicazioni e vantaggi. Hack. Tratto da: hackr.io.
  6. Steemit (2020). C ++: impara a programmare. Storia, vantaggi, svantaggi del linguaggio C ++. Tratto da: steemit.com.
  7. Data Flair (2019). Impara i tipi di dati in C e C ++ con l'esempio in soli 4 minuti. Tratto da: data-flair.training.

Nessun utente ha ancora commentato questo articolo.