Направо към съдържанието

C++

от Уикипедия, свободната енциклопедия
C++
Парадигмахибриден език: обобщено програмиране, обектно ориентиран, процедурен
Реализиране през1985, последно ревизиран 2023
АвторБярне Строуструп
Типизация на даннитестатичен, необезопасена, номинативен
Повлиян отC, Simula, Ada 83, CLU
ПовлияваAda 95, C#, Java, PHP, D
C++ в Общомедия

С++ (английско произношение: /ˌsiːˌplʌsˈplʌs/) е език за програмиране от високо ниво. Той е обектно ориентиран език със статични типове. От 90-те години на XX век C++ е един от най-популярните комерсиални езици за програмиране.

Датският програмист Бярне Строуструп разработва C++ през 1983 г. в Лабораториите „Бел“ като разширение на езика C – езикът е базиран на C, но в него са добавени редица допълнителни възможности и са направени няколко промени. Основната разлика между C и C++ е, че C++ съдържа вградена в езика поддръжка на обектно ориентирано програмиране. В C++ са добавени класове, множествено наследяване, виртуални функции, overloading, шаблони (templates), обработка на изключения (exceptions) и вградени оператори за работа с динамична памет. Езиковият стандарт на C++ е ратифициран през 1998 като ISO/IEC 14882:1998, през 2003 година има преразглеждане на стандарта – ISO/IEC 14882:2003, а от 2011 стандартът се обновява на всеки три години. Последната ревизия е от 2020.

Повечето програми на C могат директно или със съвсем малки модификации да бъдат компилирани с компилатор за езика C++. Поради заимстване на множество концепции от C++ езикът Java има много общи черти със C++.

Една голяма част от приложните програми на много операционни системи, както и някои от самите операционни системи, са написани на този език.

Програмиране на С++редактиране на кода

Създателят на C++, на бюро в AT&T, 2000

Всяко програмиране има своето начало или Hello, World!редактиране на кода

Една примерна програма Hello, World!, реализирана на С++, изглежда така:

#include <iostream>using namespace std;int main(){  cout << "Hello, World!\n";  return 0;}

Работа с прости обектиредактиране на кода

#include <iostream>#include <string>using namespace std;//обект реализиращ книга в книжарницаclass Book{public:  string name;  double price;  int year;  void ShowInfo() const  {    cout << "Заглавие: " << name << "\n";    cout << "Цена: " << price << "\n";    cout << "Година на издаване: " << year << "\n";  }};int main(){  Book book;  cout << "Въведете заглавие: ";  getline(cin, book.name); //прочитаме ред от стандартния вход  cout << "Въведете цена: ";  cin >> book.price;  cout << "Въведете дата на издаване: ";  cin >> book.year;  book.ShowInfo(); //извеждаме получените данни  return 0;}

Философията на езикаредактиране на кода

Като основа на философията на езика С++ в The Design and Evolution of C++ (1994) Бярне Строуструп изяснява някои от правилата, според които той е моделирал C++:

  • C++ е моделиран като статичен език за общи цели, като запазва ефикасността и преносимостта на C
  • C++ е създаден да поддържа множество стилове на програмиране (процедурно програмиране, абстракция на данните, обектно-ориентирано програмиране и обобщено програмиране)
  • C++ е създаден да дава избор на програмиста, дори той да е неправилен
  • C++ е моделиран като умерен преход от C
  • C++ избягва функции, които са платформенозависими
  • C++ е създаден да работи без сложна среда за разработка

Познаването на правилата помага за правилното разбиране на C++. Много повече за езика може да бъде открито в The Design and Evolution of C++.

Компилаториредактиране на кода

КомпилаторКомпанияОперационни системиАрхитектуриБезплатен
GNU Compiler CollectionGNUBSD, Linux, macOS, OpenSolaris, Solaris, WindowsARM, MIPS, PowerPC, SPARC, x86, x86-64Ok
LLVM ClangLLVMBSD, Linux, macOS, OpenSolaris, Solaris, WindowsARM, MIPS, PowerPC, SPARC, x86, x86-64Ok
Sun StudioSun MicrosystemsSolaris, OpenSolaris, LinuxSPARC, x86, x86-64Ok
Intel C++ CompilerIntelLinux, macOS, Windowsx86, x86-64Не
Borland C++BorlandWindowsi86pcOk
Open WatcomSybaseWindowsi86pcOk
Visual C++MicrosoftWindowsx86, x86-64Ok

Стандартиредактиране на кода

Езикът е международно стандаритизиран със стандарта ISO/IEC 14882. Различните версии на езика представляват обновявания на стандартизационния документ и за разлика от други езици, които имат обикновени числови версии, е прието версиите на С++ да се наричат на годината на издаване.

След 2011 стандартизационният комитет се ангажира да обновява версията на езика на всеки три години. Съответно следващата версия на езика се очаква през 2023 под името C++23.

ГодинаC++ СтандартНеформално име
1998ISO/IEC 14882:1998C++98
2003ISO/IEC 14882:2003C++03
2011ISO/IEC 14882:2011C++11
2014ISO/IEC 14882:2014C++14
2017ISO/IEC 14882:2017C++17
2020ISO/IEC 14882:2020C++20
2023ISO/IEC 14882:2020C++23

Външни препраткиредактиране на кода

Уикикниги
Уикикниги
В Уикикниги има на разположение:
🔥 Top keywords: Ед ШийрънБългарияНачална страницаБорова процесионкаФейсбукШампионска лига на УЕФАИзпълнителна властДържавно устройство на БългарияСпециални:ТърсенеХристо БотевИскърСписък на държавите от Африканския съюз по населениеРичард БакманСписък на реките в България по дължинаКатегория:Произведения на Христо БотевМарицаD2НигерияБългарска азбукаДубайРеал Мадрид КФКенияСписък на страните по телефонен кодВили КазасянФантомът от ОператаHell's Kitchen БългарияВеликденКоклюшЕргенътЕгипетХалифакс (Западен Йоркшър)Парламентарна републикаСофияИранИван ВазовРегистрационен номер на МПС (България)Виктор АнгеловАдам и ЕваДимитър Главчев