C++: Разлика помеѓу преработките

[непроверена преработка][непроверена преработка]
Избришана содржина Додадена содржина
с Бот Додава: jv:C++
с Бот менува: кој што -> којшто, сеуште -> сѐ уште, линкови -> врски, сервер -> опслужувач, Октомври -> октомври
Ред 4:
 
'''C++''' е виши програмски јазик кој првобитно е развиен во Bell Labs (Лабораторатоија на компанијата за телекомуникации Bell), од strana na Bjarne Stroustrup vo 1979 како надополнување на програмскиот јазик C.
С++ има широка употреба во софтверската индустрија, и останува еден од најпопуларните програмски јазици што некогаш биле создадени. Некои од неговите апликациони домени вклучуваат системски софтвери, апликациони софтвети, уреди, embedded software, серверопслужувач со високи перформанси и клиентски апликации, и софтвер за забава како што се видео игрите.
Јазикот е првобитно развиен како подобрување на програмскиот јазик C со додавање на класи, потоа виртуални функции преоптоварување на оператори,повеќекратно населување, шаблони и исклучоци меѓу други одлики. После неколку години развивање C++ е ратификуван во 1998 како стандарден ISO/IEC 14882.
 
== Историја ==
 
Stroustrup започнал со работа на ‘C with Classes’ во 1979. После искуството од својот докторски труд доаѓа до идеа да направи нов програмски јазик. Тој заклучил дека Simula имал одлики соодветни за големи софтверски развивања,но овој програмски јазик бил премногу бавен за практична употреба, додека BCPL бил доволно брз но премногу на low-level да биди соодветен за големи софтверски развивања. Stroustrup започнал со подобрување на програмскиот јазик C со одлики на Simula. C бил одбран поради неговата брзина, преносливост и широка употреба. Покрај C и Simula други јазици кои го инспирирларе се: ALGOL 68, Ada, CLU и ML. Првото јавнопубликување било во Октомвриоктомври 1985г.
Во 1983, името на јазикот е променето од C with classes во C++. Новите одлики биле додадени вклучувајќи и виртуелни функции, име на функциите и преоптоварување на операторите, слободна софтверска меморија контролирана од корисникот, проверка на типот И во стил на BCLP коментари во една линија со две коси црти (//).
Со развивањето на C++ јазикот дошло и до развивање на стандардната библиотека. Првиот додаток на C++ стандардната библиотека била stream I/O library која овозможила заменување на традиционалните C функции printf и scanf. Подоцна меѓу најзначајните додатоци на стандардната библиотека, била Standard Template Library.
C++ и понатаму се употребува и сеуштесѐ уште е еден од најчесто употребуваните програмски јазици за развивање на професионални апликации. Јазикот го користат програмери од целиот свет.
 
== Стандардизирање на јазикот ==
Ред 35:
== Стандардна библиотека ==
 
ANSI/ISO C++ стандардот од 1998г. Се состоел од два дела: core language и C++ Standard Library; подоцна е вклучен поголемиот дел од Standard Template Library (STL) и малку модифицирана верзија на C++ стандардната библиотека.Постојат многу C++ библиотеки кои не се дел од стандардот, користатејќи спецификации на линковиврски библиотеките дури и можат да бидатнапишани во јазици како C, Fortran, Pascal или Basic. Кои од овие се поддржуваат зависи од компајлерот.
Стандардната библиотека на C++ ја вклучува стандардната библиотека на C со некои мали модификации за да се прлагоди со C++ јазикот. Друг голем дел од C++ библиотеката е базирана на STL. Ова овозможука корисни алатки како containers (на пример вектори и листи), итератори да обезбедат пристап до елементите од овие контејнери и алгоритми да извршуваат операции како пребарување и подредување. Исто така е возможно со користење на шаблони да се напишат генерички алгоритми кои работат со било кои контејнери или секвенции дефинирани од итератори. Во C до одликите на библиотеките се пристапува со користење на #include директивата за да вклучи standard header.
Ред 61:
C++ шаблоните овозможуваат генеричко програмирање. C++ поддржува шаблони и на функции и на класи. Шаблоните се моќни алатки кои можат да се користат за генеричко програмирање, шаблонско метапрограмирање и оптимизација на кдовите. Но оваа моќ има и цена. Употребата на шаблони може да го зголеми кодот, поради постоењето на копии на кодот на шаблоните: по една за секој сет на аргменти на шаблоните.
 
Шаблоните се различи од макроата. И шаблоните и макроата овозможуваат кондиционални компилации. Шаблоните се свесни за значењето и типот на системот на јазикот кој штокојшто ги придружува како и за сите дефиниции за времето компајлирање. И може да извршуваат операции на високо ниво вклучувајќи го programmatic flow control базирано на проценка од стрикно проверени параметри. Макроата се способни за кондиционална контрола врз компилацијата базирано на предходно одредени критериуми но не можат да инстанцира нови типови,или да извршат проценка на типовите и во ефект се ограничени на претходна компилација, замена на текст и вклучување/исклучување на текст. Со други зборови со макроата може да се контролира протокот на компилации, на основа на претходно дефинирани симболи, но не може, за разлика од шаблоните, независно да инстанцира нови симболи.Шаблоните се алатки за статично полиморфно и генеричко програмирање.
 
Како резиме, шаблоните се compile-time параметризирани функции или класи напишани без знаење на специфичните аргументи користени за да се инстанцира. После инстанцирањето крајниот код е еднаков со кодот напишан специјално за изминатите аргументи. На овој начин, шаблоните овозможуваат начин за
Преземено од „https://mk.wikipedia.org/wiki/C%2B%2B