- Историја
- Дизајн и примена
- Почетно пуштање
- Ц 2.0
- Стандардизована верзија
- Последње ажурирање
- Ц ++ функције
- Популарни језик
- Објектно оријентисан
- Процедурални
- Структурирано програмирање
- Управљање меморијом
- Показивачи
- Састављен језик
- Типови података у Ц ++
- - Примарна
- Инт
- Пловак
- Цхар
- Двокреветна
- Празно (нулл)
- Боол
- - Секундарни
- Аранзмани
- Показивачи
- Карактеристике
- - Кориснички дефинисан
- Структуре
- унија
- Чему служи Ц ++? Апликације
- Апликације
- Оперативни системи
- Компајлери
- Игре
- Веб прегледачи
- Интернет Ствари
- Цлоуд / Дистрибуирани системи
- Приступ базама података
- Примери
- Библиотеке
- Предност
- Брзина
- Близина хардвера
- Ефикасност
- Слобода избора стилова програмирања
- Способност разбијања сложених проблема
- Способност откривања грешака пре извршења
- Недостаци
- Употреба показивача
- Питања сигурности
- Нема сакупљача смећа
- Одсуство нити
- Састављени програми
- Може бити сложено
- Референце
Ц ++ је побољшана и проширена верзија програмског језика Ц, коју је Строуструп развио 1979. године у оквиру свог докторског пројекта. Строуструп је дизајнирао оно што је назвао "Ц са класама", што је касније названо Ц ++, јер је веровао да постојећи програмски језици имају ограничења и нису најбољи за велике пројекте.
Због тога је Ц користио за развој програмског језика који је тражио, јер је Ц био ефикасан језик и брз за рад.
Извор: пикабаи.цом
Ц ++ је програмски језик опште намене који је профињен и моћан. Овај састављени језик у слободној форми најприкладнији је за програмере средњег нивоа.
Међутим, они који желе да започну програмирање са Ц ++, откриће да могу брзо да науче концепте програмирања који ће им одвести дуг пут у каријери.
Компатибилан је са објектно оријентисаним програмирањем узимајући све његове карактеристике. Ови концепти разликују језик Ц ++ и он се углавном користи за развијање апликација на једноставан и концептуализован начин.
Историја
Дизајн и примена
Ц ++ је 1980. године дизајнирао и имплементирао Бјарне Строуструп у компанији АТ&Т Белл Лабс, лепо се стапајући с концептима процедуралног и објектно оријентисаног програмирања.
У језику Ц се оператор ++ користи за увећање варијабле, што манифестује Строуструпову идеју да би Ц ++ била следећа генерација Ц језика.
Почетно пуштање
Ц ++ је први пут изашао на тржиште 1985. године. Године 1986. Строуструп је објавио своју чувену књигу под називом Тхе Ц ++ Программинг Лангуаге, која је постала референтни приручник за тај језик.
Ц 2.0
Најважније издање Ц ++ било је Ц 2.0 1989. године, док су га Еллис и Строуструп документовали у Ц ++ Аннотатед Референце Мануал. Био је то потпуно објектно оријентисан језик.
Стандардизована верзија
Прва стандардизована верзија, Ц ++ 98, објављена је 1998. Овај међународни стандард за Ц ++ развили су Амерички национални институт за стандарде (АНСИ) и Међународна организација за стандарде (ИСО).
2003. године објављен је следећи Ц ++ 03 стандард са намером да исправи грешке идентификоване у Ц ++ 98 и обезбеди да језик има већу преносивост и конзистентност.
Последње ажурирање
Следеће веће ажурирање језика стигло је 2011. године и звало се Ц ++ 11. Неколико карактеристика је додато да би побољшали перформансе рада.
Потом је издан Ц ++ 14, где су извршена нека побољшања и исправке грешака Ц ++ 11. Следећа верзија објављена 2017. била је Ц ++ 17, која има неколико нових функција и много обимнију стандардну библиотеку.
Ц ++ функције
Популарни језик
Ц ++ широко користе програмери, углавном у апликацијама. Садржи све важне дијелове, попут језгре језгре који пружа све потребне развојне блокове, као што су варијабле, типови података, литерали итд.
То је четврти најпопуларнији програмски језик, према индексу програмске заједнице ТИОБЕ.
Употреба Ц ++ чини га најприкладнијим језиком, због његових карактеристика. То је први покретачки језик за све програмере који су заинтересовани да раде са програмским језицима. То је лако научити јер је то искључиво концептуални језик.
Његова синтакса је веома једноставна, што олакшава писање, а грешке се могу лако копирати. Пре употребе било ког другог језика, програмери су најрадије прво научили Ц ++, а затим користили друге.
Међутим, већина програмера покушава да се држи Ц ++ због широког спектра употребе и компатибилности са више платформи и софтвера.
Објектно оријентисан
Главна надоградња са Ц на Ц ++ је објектно оријентисано програмирање. То значи да је фокус на "објектима" и руковању око тих објеката.
Прати концепте полиморфизма, наследства, капсулације и апстракције, олакшавајући развој и одржавање.
Процедурални
Ц ++ подржава концепт поступака и подпрограма, који сегменте кода затварају у блокове за вишекратну употребу, који се могу „позвати“ за обављање појединачних задатака.
Поступци и подпрограми познати су као функције у Ц ++. Функција може примити нулу или више параметара и вратити нулу или вредност.
Структурирано програмирање
Ц ++ код је модуларан, уз подршку функција, класа и објеката, при чему се модули слободно уклапају.
Изјаве о контроли протока у Ц ++ сличне су онима које налазимо у многим другим структурним програмским језицима. Ово су иф-елсе за имплементацију логике одлучивања и за, док и док не, док не имплементирате итерације или петље.
Управљање меморијом
Ц ++ подржава динамичку расподелу меморије. Тако можете доделити додељену меморију у било ком тренутку.
Показивачи
Они су променљиве које смештају адресу друге променљиве. Показивач показује на меморијску локацију променљиве. Ц ++ подржава показиваче за решавање многих проблема који захтевају приступ меморијској локацији.
Састављен језик
Пре него што се изврши, програм Ц ++ мора бити преведен у матична упутства циљне машине помоћу програма који се зове компајлер. Без компилације ниједан програм Ц ++ не може да се покрене. Компајлер саставља програм Ц ++ да би се касније могао покренути.
Типови података у Ц ++
- Примарна
Инт
Користи се за чување целих бројева. Меморија коју заузима зависи од преводиоца (32 или 64 бита). Заузима 4 бајта меморије када радите са 32-битним компајлером.
Пловак
Користи се за чување фракција до 7 децималних цифара. Позната је као једнострука прецизност типа плутајуће тачке. Заузима 4 бајта меморије.
Цхар
Користи се за чување скупа свих знакова. Може да садржи слова абецеде, бројеве, а такође и посебне знакове. Заузима 1 бајт меморије, најмања адресабилна јединица у машини.
Двокреветна
Користи се за чување фракција до 15-16 децималних цифара. Опште је позната као врста плутајуће тачке са двоструком прецизношћу.
Празно (нулл)
Означава нулу или нема повратне вредности. Обично се користи за додељивање нулл вредности приликом декларирања функције.
Боол
Овај тип података односи се на логичку или логичку вредност. Може да прими вредност истините или лажне.
- Секундарни
Аранзмани
То је скуп података који имају исту врсту података, којима се приступа заједничким именом.
Показивачи
У основи су променљиве које се користе за смештање меморијске адресе друге променљиве.
Карактеристике
То је група реченица које изводе одређени задатак. Функције су уграђене или кориснички дефиниране библиотеке.
- Кориснички дефинисан
Структуре
То је врста података у којој се колекцији различитих врста података може направити и приступити кроз објект.
унија
Пружа могућност чувања различитих врста података на истој меморијској локацији.
Чему служи Ц ++? Апликације
Апликације
Многе апликације на Адобе системима развијене су у Ц ++, као што су Иллустратор, Пхотосхоп, Адобе Премиере и Имаге Реади.
Оперативни системи
Ц ++ се користи у свим главним оперативним системима, као што су Линук, Виндовс и мацОС, јер је програмски језик ниског нивоа.
Компајлери
Већина компајлера је написана на језику Ц ++. Такође компајлери који се користе за компилацију других језика, као што су Ц #, Јава, итд.
Игре
Служи за уклањање сложености 3Д игара, помажући у оптимизацији ресурса. Поред тога, компатибилан је с опцијом за више играча у мрежама.
Веб прегледачи
Омогућује брзо извршавање и представљање графике, што је критично за тренутне кориснике који захтевају садржај који се може брзо појавити у веб прегледачима. Ц ++ је коришћен за прављење Интернет претраживача Гоогле Цхроме и Мозилла Фирефок.
Интернет Ствари
Неколико производа Интернет оф Тхингс, попут паметних сатова, аутомобила, веш машина, рутера и прекидача, користи Ц ++ јер им је потребан код који је што је могуће ближи хардверу.
Цлоуд / Дистрибуирани системи
Користи се у облаку у системима складиштења и дистрибуираним системима, где скалабилни систем датотека треба да блиско сарађује са хардвером и компатибилност са различитим машинама је такође критична.
Приступ базама података
Користи се за развој софтвера база података са отвореним кодом. Врло популаран софтвер за администрацију база података који се користи у организацијама, МиСКЛ, написан је на Ц ++ захваљујући предностима које нуди.
Постоје и друге апликације засноване на приступу софтверу база података, а то су Википедиа, Иахоо, ИоуТубе, Куора итд.
Примери
Овај програм прима позитивни цели број од корисника и смешта га у променљиву н. Тада се извршава фор-петља, која проверава да ли је унесени број савршено дељив са ио или не.
Петља фор почиње са почетном вриједношћу и једнаком 2, повећавајући вриједност и са сваком итерацијом. Ако је број који је корисник унео савршено дељив од и, исПриме је постављен на фалсе и број неће бити главни број.
Међутим, ако број није савршено дељив са и све док није исправно стање испитивања и <= н / 2, то значи да је дељив само са 1 и истим бројем. Дакле, наведени број је главни број.
Библиотеке
Програмери имају приступ многим уграђеним функцијама које пружа језик Ц ++. Ово штеди време и убрзава развој. Неке од Ц ++ датотека са заглављеним функцијама су:
- иоманип: садржи обрађиваче протока који форматирају протоке података.
- иостреам: садржи стандардне функције улаза и излаза.
- цстдлиб: садржи функцију за претварање бројева у текст и обрнуто,
- цматх: садржи математичке библиотечке функције, распоређивање меморије, случајне бројеве и разне друге корисне функције.
- фстреам: садржи функције које изводе улаз и излаз датотека на диску.
- цтиме: садржи функцију за руковање временом и датумом.
- меморија: садржи класе и функције које користи Ц ++ Стандардна библиотека за расподелу меморије.
Предност
Брзина
Како је Ц ++ проширена верзија Ц-а, који је програмски језик ниског нивоа, то је један од најбржих доступних језика. То га чини корисним у оним областима у којима су неопходне перформансе кључне.
Близина хардвера
Ц ++ је један од програмских језика који је најближи хардверу. Ово је веома корисно у оним просторима у којима софтвер мора бити у блиској вези са хардвером како би ефикасно пружио подршку на ниском нивоу.
Ефикасност
Ц ++ има стандардну библиотеку шаблона које се могу широко користити кодирањем. Ове библиотеке пружају ефикасне алгоритме који програмеру омогућавају уштеду времена и труда, а који би се иначе трошили стварањем кода.
Слобода избора стилова програмирања
Ц ++ подржава око седам различитих стилова кодирања, што га чини програмским језиком за више модела. На тај начин можете одабрати стил који одговара одређеном случају употребе, а да притом не морате користити објекте.
Способност разбијања сложених проблема
Ц ++ може сложене проблеме интуитивно решити креирањем објеката. Уз то, Ц ++ функције омогућавају вам да поделите свој код на блокове кода који су јасни, лако разумљиви и лако тестирани и модификовани.
Способност откривања грешака пре извршења
Ц ++ има статички тип, што значи да преводилац не даје претпоставке о томе шта програмер пише. Предност је у томе што преводилац може ухватити грешке и кварове пре извршења, што дугорочно може уштедети време.
Недостаци
Употреба показивача
Показивачи су релативно тежак концепт за разумевање и такође троше пуно меморије. Злоупотреба показивача може узроковати да систем виси или се понаша ненормално.
Главни проблем је када се подаци истичу са два различита полазишта, што узрокује значајан проблем, стварајући збуњујуће проблеме унутар кодирања.
Питања сигурности
Иако објектно оријентисано програмирање пружа велику сигурност подацима којим се рукује, још увијек постоје одређени сигурносни проблеми због доступности пријатељских функција, глобалних варијабли и показивача.
Нема сакупљача смећа
Ц ++ омогућава кориснику потпуну контролу управљања меморијом рачунара. Недостаје му функција сакупљача смећа за аутоматско филтрирање непотребних података и стога не подржава динамичку додјелу меморије.
Одсуство нити
Ц ++ не подржава уграђене нити. Концепт нити је релативно нов у Ц ++, јер првобитно није постојао. Сада Ц ++ може да подржава ламбда функције.
Састављени програми
Као језик компилације, извршне датотеке које је компајлер произвео из изворног кода нису преносиве и покретаће се само на циљној платформи (хардверу и оперативном систему) за коју су састављене или на подржаној бинарној платформи.
Може бити сложено
Ц ++ може бити сложен, јер омогућава класе, које су функције са истим називом. Због тога се мора користити систем за руковање симболима. Надаље, сложен је за веома велики програм на високом нивоу. Ц ++ се обично користи за апликације специфичне за платформу.
Референце
- Симплилеарн (2020). Ц ++ програмирање за почетнике: историја, предности и апликације. Преузето са: симплелеарн.цом.
- Едуцба (2020). Употреба Ц ++ у стварном свету. Преузето са: едуцба.цом.
- Дмитрии Рассокхин (2020). Програмски језик Ц ++ у хеминформатици и рачунској хемији. Часопис за хеминформатику. Преузето са: јцхеминф.биомедцентрал.цом.
- Едурека! (2020). Које су 10 најбољих карактеристика Ц ++? Преузето са: едурека.цо.
- Аман Гоел (2020). Језик Ц ++: Карактеристике, употребе, апликације и предности. Хацк. Преузето из: хацкр.ио.
- Стеемит (2020). Ц ++: Научите да шифрирате. Историја, предности, недостаци језика Ц ++. Преузето са: стеемит.цом.
- Дата Флаир (2019). Научите типове података у Ц и Ц ++ са примером у само 4 минута. Преузето из: дата-флаир.траининг.