Pagina iniziale | Navigazione |
Google

C plus plus

Per limitazioni tecniche, il titolo di questa pagina non è corretto, si prega di far riferimento a quanto segue per la terminologia corretta.

Il C++ è un linguaggio di programmazione orientato agli oggetti sviluppato da Bjarne Stroustrup ai Bell Labs negli anni '80 e rilasciato nel 1986. È basato sul linguaggio C. Mentre la maggior parte del codice sorgente C è anche valido per il C++, il C non è un sottoinsieme del C++ nel senso più stretto della parola. Il C++ fu standardizzato nel 1998 (ISO/IEC 14882-1998 "Information Technology - Programming Languages - C++").

In aggiunta al supporto alla programmazione orientata agli oggetti, il C++ è distinto dal C per il suo supporto alla programmazione generica e alla metaprogrammazione attraverso l'uso dei templates.

Il C++ è molto diffuso e apprezzato, ma raramente è usato al massimo delle sue potenzialità: la semantica del C++ è molto ricca di dettagli e sfumature che condizionano il comportamento del codice, e che molto spesso i compilatori implementano in maniera scorretta o incompleta: molte delle caratteristiche dello standard ISO del linguaggio non sono ancora implementate nei compilatori attuali, anche se la situazione sta migliorando lentamente. La grande ricchezza semantica del C++, insieme alle librerie che lo accompagnano, lo rende un linguaggio estremamente espressivo e potente, ma che richiede molto tempo per venire appreso e padroneggiato completamente. Inoltre a causa della variabilità del comportamento dei compilatori nel maneggiare le funzioni più avanzate del linguaggio, i programmi C++ che scelgono di farne uso si rivolgono ad un'architettura (processore, sistema operativo e compilatore) particolare sacrificando la portabilità su altre piattaforme.

Il C++ ha una libreria standard, in modo simile al C. Oltre a questa, particolare importanza nel C++ ricopre la STL, Standard Template Library. Si tratta di una libreria che definisce una serie di template generici per strutture dati comuni, come vettori, code, array associativi, e così via. La programmazione ne risulta molto semplificata, al prezzo di un gran lavoro del compilatore per interpretare i complessi template.

Il nome del linguaggio, scritto "C++" e pronunciato "si plas plas", rappresenta la sua evoluzione dal C. Fu suggerito da Rick Mascitti nella metà del 1983, quando il linguaggio veniva usato per la prima volta al di fuori dei centri di ricerca. All'inizio ci si riferiva al linguaggio semplicemente come "C con classi", direttamente sviluppato con CFront.

Il nome è un gioco di parole con un costrutto del C (dove il doppio segno più è un operatore che ha l'effetto di incrementare il valore di una variabile) insieme con la comune convenzione di aggiungere un segno più per indicare una versione potenziata. Secondo Stroustrup: "'++' è l'operatore di incremento del C...il nome esprime la natura evoluzionaria dei cambiamenti dal C". Impiegando il gioco di parole si evita anche il problema che "C+" è già stato usato per un linguaggio senza alcun nesso col C++ (senza menzionare che è comunemente associato con una valutazione meno che stellare di una performance accademica)

Alcuni puristi, notando che nel C il valore dell'espressione "C++" è il valore originale e non modificato di "C", hanno suggerito che "++C" sarebbe stato un nome più appropriato.
Per esempio, se x = 3, sia y = x++, allora y

Table of contents
1 3 e x

3 e x

4. Se y = ++x, allora y

4 e x

4.

Bjarne Stroustrup mantiene una lista di Domande Frequenti (FAQ) sul linguaggio.

Programma di Esempio

Hello, World

#include 

int main() { std::cout << "Hello, world!" << std::endl; }

Definizione di Classe

#include 

class Message {
 private:
  std::string subject_;
  std::string to_;
  std::string from_;

public: Message (const std::string& subject,

const std::string& to, const std::string& from);

  std::string subject() const;
  std::string to() const;
  std::string from() const;
};


GNU Fdl - it.Wikipedia.org




Google | 

Enciclopedia |  La Divina Commedia di Dante |  Mappa | : A |  B |  C |  D |  E |  F |  G |  H |  I |  J |  K |  L |  M |  N |  O |  P |  Q |  R |  S |  T |  U |  V |  W |  X |  Y |  Z |