市法院院长是什么级别| 西红柿可以做什么菜| 甲状腺4a是什么意思| 排卵期为什么会出血| 梦见大胖小子是什么意思| 掉头发吃什么| 脸上长痘痘去医院挂什么科| 拔罐有什么作用| 接亲是什么意思| 珀莱雅属于什么档次| 向日葵代表什么| 维生素b2有什么功效| 锲而不舍是什么生肖| baleno是什么牌子| 藿香正气水什么味| 什么可以祛痘印| 画是什么结构| 宫腔镜是什么| 狗女和什么属相最配| 人工降雨的原理是什么| 周瑜是什么生肖| 388是什么意思| 新生儿什么时候吃ad| 大便出血挂什么科| 三月十五日是什么星座| 什么是肾癌| cto是什么意思| 什么叫甲亢| 打耳洞需要注意什么| 大腿正面是什么经络| 血糖高适合吃什么主食| 半夏生是什么意思| 足是什么结构| 兆以上的计数单位是什么| 移民澳洲需要什么条件| 下身瘙痒什么原因| 当局是什么意思| bcl是什么意思| 男性夜间盗汗什么原因| 南浦大桥什么时候建成| 右侧上颌窦粘膜增厚是什么意思| clarks是什么牌子| 3月30号是什么星座| 吃什么水果解酒| 白玫瑰代表什么| 开金花是什么生肖| 貔貅是什么生肖| 玉米吃多了有什么坏处| 尿有泡泡是什么病| 梦见被雨淋是什么意思| 怀孕为什么会流褐色分泌物| 临床医学是干什么的| 中国古代四大发明是什么| 孕酮低吃什么药| 源源不断是什么意思| 19岁属什么的生肖| 左顾右盼的顾是什么意思| 头发稀少是什么原因| 头孢呋辛钠主治什么病| 高考三百多分能上什么学校| 小孩缺铁有什么症状| 子宫发炎是什么原因引起的| cos是什么意思| 尿出血是什么原因| 臻字五行属什么| 真丝用什么洗| 泌尿系统感染吃什么药| 市斤是什么意思| 三月七号是什么星座| 手指倒刺是什么原因| 甲状腺球蛋白抗体高说明什么| 总打哈欠是什么原因| 女人右下巴有痣代表什么| 妹妹你坐船头是什么歌| 氧化锆是什么材料| 主诉是什么意思| 7月16是什么星座| 淋巴细胞比率低是什么意思| 血糖30多有什么危险| 科技皮是什么皮| 慎重是什么意思| 什么是肥皂剧| 冰瓷棉是什么面料| 双肺条索是什么意思| 桃子和什么不能一起吃| 小年吃什么| 山东属于什么气候| 淋巴结是什么病严重吗| 头发有点黄是什么原因| 隐血弱阳性是什么意思| 歌字五行属什么| 装修公司名字取什么好| 51是什么意思| 得了便宜还卖乖是什么意思| 为什么全麻手术后不能睡觉| 土字旁的有什么字| 黄喉是什么部位| 慢性支气管炎吃什么药| 七月二十四是什么星座| 月经期间吃什么补血| pp是什么材质| 为什么小腹隐隐作痛| 李逵代表什么生肖| 靶子是什么意思| 吃中药忌口都忌什么| 清考是什么意思| 橄榄菜长什么样子图片| edv是什么意思| 蚊虫叮咬红肿用什么药| 提溜是什么意思| 至夏什么意思| 肠道为什么会长息肉| 一年四季穿棉衣是什么生肖| kamagra是什么药| 永浴爱河是什么意思| 查生育能力挂什么科| 胆固醇高是什么意思| 手指变形是什么原因| 为什么一躺下就头晕目眩| 梦见别人理发是什么意思| 三班倒是什么意思| 甲状腺偏高有什么影响| 双肺局限性气肿是什么病| 腌羊肉串放什么调料| 什么是功能性子宫出血| 硬结灶是什么意思| 皇帝为什么自称朕| 低头族是什么意思| 内膜厚吃什么掉内膜| 慢性肾炎是什么原因引起的| 内心孤独的人缺少什么| 什么危不什么| 蛇鼠一窝是什么生肖| 手腕关节疼痛什么原因引起的| 高血压三级是什么意思| 就寝什么意思| 中耳炎用什么药| 做梦梦见掉牙齿是什么意思| 关节由什么组成| 女性尿急憋不住尿是什么原因| 质体是什么| 强劲的动物是什么生肖| 黑话是什么意思| 男生下体痒是什么原因| 凤眼果什么时候成熟| 万力什么字| 尿酸偏高是什么病| 桜什么意思| 右脚浮肿预示着什么| 妈妈过生日送什么礼物好| 1977年是什么年| 台湾什么时候回归的| 五官立体是什么意思| otc代表什么| 阻滞是什么意思| 阴虚血热什么症状| 如意什么意思| 抽筋缺什么| pet什么意思| 樟脑是什么东西| 27属什么| 单立人加吉念什么| 血氨高是什么原因| 医调委是什么机构| 头晕是什么情况| 甜五行属什么| 手足口病吃什么药好得快| 有心无力是什么意思| 小麦淀粉可以做什么| 奥美拉唑什么时候吃最好| 口腔溃疡什么时候能好| 翔字五行属什么| 杏色配什么颜色最洋气| 早上出虚汗是什么原因| 浅卡其色裤子配什么颜色上衣| ckd5期是什么意思| 扬言是什么意思| 侏儒症是缺乏什么元素| 拉黄尿是什么原因| 补脑吃什么| 打喷嚏流清鼻涕属于什么感冒| 什么的绽放| 连云港有什么特产| 肚子长痘痘是什么原因| 洗发水什么牌子好| 无证之罪什么意思| 师级干部是什么级别| 什么发什么强| 明年是什么年| 吃避孕药有什么危害| 微腺瘤是什么| 紫苏泡水喝有什么好处| 什么品种的鸡肉最好吃| 来大姨妈不能吃什么| 什么是性瘾症| 气血是什么意思| 甜菜什么意思| 小蛇吃什么| 糖化血红蛋白高是什么原因| 科目三考什么内容| 儿女情长英雄气短是什么意思| 原始心管搏动是什么意思| 嘴上起泡是什么原因| 什么是对数| 战狼三什么时候上映| 什么品种的狗最粘人| 打猎是什么意思| 指甲上的白色月牙代表什么| 辛辣的辛是什么意思| 颈椎病挂号挂什么科| 什么地大喊| bae是什么意思| 但爱鲈鱼美的但是什么意思| 阴虚火旺吃什么水果| 怀孕嗜睡什么时候开始| 左室高电压什么意思| 宝宝什么时候可以吃盐| 月经不调吃什么药调理最好| 什么白| 正连级是什么军衔| 为什么喝酒后会头疼| offer是什么| 起鸡皮疙瘩是什么原因| 什么茶降血压| 忘年恋是什么意思| 细菌是什么生殖| 胆固醇高是什么意思| 手指麻木是什么原因引起的| 津液不足吃什么中成药| 银行卡睡眠状态是什么意思| 苏打水喝了有什么好处| 二甲双胍为什么晚上吃| 撕漫男是什么意思| 小儿流清鼻涕吃什么药效果好| 女人鼻头有痣代表什么| 菠菜什么时候传入中国| 广东有什么好玩的地方| 董卓字什么| orf是什么意思| 什么环境唱什么歌原唱| 六安瓜片属于什么茶| 什么是出马| reald厅什么意思| 胎儿胆囊偏小有什么影响| 淋巴结什么原因引起的| 行房时硬度不够是什么原因| 七里香是什么| 姓叶的男孩取什么名字好| 血糖什么时候最高| 婆娑是什么意思| 冬虫夏草有什么用| 水逆退散什么意思| 日成是什么字| 知见是什么意思| 剖腹产可以吃什么| 全身体检挂什么科| 前列腺增生用什么药| 外阴炎吃什么药| 贫血是什么引起的| 为什么会肚子痛| 尿亚硝酸盐阳性是什么意思| 扁桃体发炎什么症状| 济公属什么生肖的| 痛风能吃什么菜谱大全| 百度Presko?i? na obsah

中国国际电视台与察哈尔学会建立战略合作关系

z Wikipédie, slobodnej encyklopédie
C++
Druhviacparadigmovy
Dátum vzniku1985, naposledy upraveny v 2020
Pou?itiev?eobecné
Typová kontrolasilná, statická, nie bezpe?ná
TvorcaBjarne Stroustrup
Implementácieviacero
DialektyANSI C++ 1998, ANSI C++ 20044
Pou?ívané prípony.cc, .cpp, .cxx, .C, .CC, .h, .hpp, .hh
百度 老茶壶内壁上经年累月聚积而成的厚厚一层茶垢,在茶文化中被誉为茶山。

C++ je viacparadigmovy programovací jazyk vy??ej úrovne na v?eobecné pou?itie, ktory umo?ňuje pracova? aj s prostriedkami nízkej úrovne. Má statickú typovú kontrolu, podporuje procedurálne programovanie, dátovú abstrakciu, objektovo orientované programovanie, ale aj generické programovanie. Od 90-tych rokov 20. storo?ia patrí k najpopulárnej?ím programovacím jazykom, pou?íva ho a? vy?e 95 % engine-ov po?íta?ovych hier.

Bjarne Stroustrup vyvinul C++ (p?vodne nazvany ?C with Classes“) v roku 1983 v Bell Labs ako roz?írenie jazyka C. Roz?irovanie za?alo pridaním tried a nesk?r pokra?ovalo pridávaním ?al?ích vlastností ako sú virtuálne funkcie, prekryvanie operátorov, viacnásobná dedi?nos?, ?ablóny a o?etrenie vynimiek. ?tandard jazyka C++ bol schváleny v roku 1998 ako ISO/IEC 14882:1998, aktuálna verzia je z roku 2003 (ISO/IEC 14882:2003). Nová verzia ?tandardu (známa pod ozna?ením C++11 alebo C++0x) bola schválená v auguste 2011.

E?te v roku 1979 Stroustrup za?al pracova? na ?C with Classes“ (C s triedami). Pri tvorbe nového jazyka vychádzal zo skúseností z dizerta?nej práce. Stroustrup zistil, ?e niektoré ?rty Simuly by boli mimoriadne u?ito?né pri vyvoji ve?kych softvérovych produktov, ale Simula je príli? pomalá na praktické pou?ívanie, zatia? ?o BCPL je rychle, ale príli? nízko-úrovňové a nevhodné na vyvoj v???ích projektov. Ke? Struostrup za?ínal pracova? pre Bell Labs jeho úlohou bolo analyzova? unixové jadro s prihliadnutím na distribuované vypo?ty. Vyu?ijúc skúsenosti z dizerta?nej práce smeroval k roz?íreniu jazyka C o ?rty aké mala Simula. Jazyk C si vybral kv?li jeho zameraniu na v?eobecné pou?itie, rychlosti a prenosite?nosti. Okrem jazykov C a Simula ho in?pirovali aj jazyky ALGOL 68, Ada, CLU a ML. Postupne pridával triedy, dedi?nos? tried, silnú typovú kontrolu, inline funkcie a ?tandardné hodnoty parametrov do jazyka C pomocou nástroja Cfront. Prvú ?tandardnú verziu vydal v októbri 1985.[1]

V roku 1983 sa zmenil názov jazyka z C with Classes na C++. Pribúdali nové ?rty ako virtuálne funkcie, pre?a?ovanie funkcií a operátorov, referencie, kon?tantné premenné, práca s haldou, zlep?ená typová kontrola a novy ?tyl komentárov na jeden riadok zapísany pomocou dvoch lomiek (//). Ke? bola v roku 1985 vydaná prvá verzia programovacieho jazyka C++ poskytovala d?le?ité odkazy na jazyk, ktoré sa ale e?te nestali oficiálnym ?tandardom. V roku 1989 vy?la verzia jazyka 2.0. Novymi vlastnos?ami boli viacnásobná dedi?nos?, abstraktné triedy, funkcie triedy (statické funkcie), kon?tantné ?lenské funkcie, neverejné atribúty (protected members). O rok nato vy?la referen?ná príru?ka (The Annotated C++ Reference Manual). Táto práca sa stala základom pre budúci ?tandard. Nedávno boli doplnené ?al?ie ?rty vrátane ?ablón, vynimiek, mennych priestorov, pretypovania a booleovského dátového typu.

Ako sa vyvíjal jazyk samotny, spolu s ním sa vyvíjali aj kni?nice. Prvá kni?nica pridaná k ?tandardu C++ bola kni?nica vstupno-vystupnych streamov, ktorá poskytovala nástroje nahrádzajúce funkcie jazyka C ako sú printf, alebo scanf. Nesk?r sa k najvyznamnej?ím roz?íreniam ?tandardu pridala STL (Standard Template Library).

Po rokoch práce po spojení komisie ANSI a ISO bol jazyk C++ ?tandardizovany v roku 1998 (ISO/IEC 14882:1998). O nieko?ko rokov po oficiálnom vydaní ?tandardu komisia zapracovala hlásenia chyb a vydala opravenú verziu ?tandardu v roku 2003. V roku 2005 bola schválená odborná správa nazvaná Library Technical Report 1 (?asto skrátene ozna?ovaná TR1). V???ina navrhovanych zmien v TR1 sa stala sú?as?ou C++11.

Aj ke? jazyk C++ je bezplatny, ?tandard nie je vo?ne dostupny.

Názov Cé plus plus

[upravi? | upravi? zdroj]

Toto meno vytvoril Rick Mascitti (v roku 1983) a prvykrát bolo pou?ité v decembri 1983. Predtym, po?as vyskumu sa jazyk ozna?oval ako ?nové C“, potom ?C s triedami“ (C with classes). Kone?ny názov C++ pochádza z operátora ?++“ v jazyku C (ktory zvy?uje hodnotu premennej) a ?astej konvencie, ?e ?+“ sa pou?íva vo vyzname vylep?eny. Pod?a Stroustrupa: ?Meno znamená evolu?nú povahu zmien z jazyka C“. Predtym existoval nepríbuzny programovací jazyk nazvany C+.

Stroustrup sa nového mena ujal v za?iatkoch a v predslove k neskor?ím vydaniam knihy dodáva, ?e ?C++“ by mohlo by? odvodené z prílohy knihy ?1984“ od George Orwella. Z troch ?astí fiktívneho jazyka Newspeak, ?as? ?C vocabulary“ je ur?ená pre technické vyrazy a slang. Dvojité plus sa v Newspeaku pou?íva na vyjadrenia superlatívu prídavnych mien. Teda ?C++“ by mohlo ma? vyznam ?najtechnickej?í, alebo najslangovej?í“.

Ke? sa v roku 1992 Rick Mascitti neformálne pytal na meno jazyka, Stroustrup nazna?oval, ?e to bolo len také vnuknutie a nikdy by si nemyslel, ?e by sa mohlo sta? oficiálnym menom jazyka.

?astym ter?om vtipov byva názov jazyka. Postfix ++ znamená, ?e pripo?ítava? sa bude a? po operácii a teda jazyk by sa mal vola? ++C.

?al?í vyvoj

[upravi? | upravi? zdroj]

Vyvoj C++ pokra?uje, aby jazyk dokázal uspokoji? aj budúce potreby. Najm? skupina Boost.org vytvára v???inu C++ v jeho sú?asnej podobe a radí ?tandardiza?nej komisii, ktoré rysy jazyka pracujú správne a ktoré by bolo dobré vylep?i?. Sú?asná práca ukazuje, ?e C++ bude získava? stále viac na svojej multiparadigmovej povahe. Napríklad kni?nica Boost ve?mi roz?iruje mo?nosti funkcionálneho programovania, ako aj metaprogramovania. Na novej verzii ?tandardu C++ sa pracuje. Nazyva sa C++0x (o?akáva sa, ?e vyjde v roku 2010) a bude zah?ňa? ve?a novych roz?írení.

Filozofia

[upravi? | upravi? zdroj]

V knihe The Design and Evolution of C++ (1994), Bjarne Stroustrup popisuje niektoré pravidlá, ktoré pou?íva pri návrhu C++. Poznanie tychto pravidiel pomáha porozumie?, pre?o je tento jazyk taky aky je. Nasledujú tie pravidlá, ove?a podrobnej?ie sú v The Design and Evolution of C++.

  • C++ je navrhnuty, aby to bol jazyk so statickou typovou kontrolou v?eobecne pou?ite?ny, ktory má efektivitu a prenosite?nos? jazyka C.
  • C++ je navrhnuty tak, aby priamo a vy?erpávajúco podporoval nieko?ko ?tylov programovania (procedurálne programovanie, dátovú abstrakciu, objektovo-orientované programovanie a generické programovanie).
  • C++ je navrhnuty tak, aby dal programátorovi na vyber. Dokonca mu umo?ňuje rozhodnú? sa nesprávne.
  • C++ je navrhnuty tak, aby bol kompatibilny s jazykom C, tak ako je to mo?né. Preto je mo?ny hladky prechod z jazyka C.
  • C++ sa vyhyba ?rtám, ktoré by boli platformovo závislé, alebo orientované len na istú sadu problémov.
  • C++ nevynakladá ?iadnu ré?iu na roz?írenia, ktoré v programe nepou?ijeme.
  • C++ je navrhnuty na fungovanie bez zlo?itého programovacieho prostredia.

Stanley B. Lippman podrobne popisuje rozli?né modely v knihe Inside the C++ Object Model (1996) ako kompilátor m??e previes? vyrazy jazyka C++ na pam??ovy model. Dodávatelia kompilátora nie sú obmedzovaní akym sp?sobom implementujú ?tandard. Lippman pracoval na implementácii a údr?be Cfront-u – prvotnej implementácie C++ v Bell Labs.

?tandardná kni?nica

[upravi? | upravi? zdroj]

?tandard C++ z roku 1998 sa skladá z dvoch ?astí: samotného jazyka (tie? niekedy aj jadro jazyka) a C++ ?tandardnej kni?nice. Nesk?r zah?ňa v???inu z Standard Template Library a mierne upravenej verzie ?tandardnej kni?nice jazyka C. Existuje ve?a kni?níc C++, ktoré nie sú ?as?ou ?tandardu a pou?ívajú externé linkovanie. Kni?nice dokonca m??u by? napísané aj v jazyku C.

?tandardná kni?nica jazyka C++ zah?ňa ?tandardnú kni?nicu jazyka C s nieko?kymi malymi úpravami, aby umo?ňovala lep?iu prácu v jazyku C++. ?al?ia ve?ká ?as? kni?nice C++ je zalo?ená na Standard Template Library (STL). Táto poskytuje také u?ito?né nástroje ako sú kontajnery (napríklad vektorpole, listzre?azeny zoznam), iterátory (zov?eobecnené ukazovatele). Tieto kontajnery poskytujú podobny prístup ako pole a poskytujú operácie ako vyh?adávanie a triedenie. Kni?nica ?alej ponúka (multi)mapy (asociatívne polia), (multi)mno?iny, ktoré ponúkajú podobné rozhranie. Potom s pou?itím ?ablón je mo?né napísa? generické algoritmy, ktoré pracujú s ?ubovo?nym kontajnerom, alebo s ?ubovo?nou postupnos?ou definovanou pomocou iterátorov. Funkcie kni?nice sa rovnako ako v jazyku C zahrnú do programu pomocou direktívy #include. C++ poskytuje ?es?desiatdev?? ?tandardnych hlavi?kovych súborov, ?al?ích dev?tnás? sa neodporú?a pou?íva? (ozna?ené ako zastárané, angl. deprecated).

Pou?ívanie ?tandardnej kni?nice (napríklad pou?ívanie std::vector, alebo std::string namiesto polí v ?tyle jazyka C) m??e vies? k bezpe?nej?iemu a ?ah?ie upravite?nému softvéru.

STL bola p?vodne kni?nica vyrobená a pou?ívaná firmou Hewlett-Packard a nesk?r Silicon Graphics, pred jej za?lenením do ?tandardu C++. ?tandard sa na ňu neodkazuje ako na ?STL“, ale len ako na ?as? ?tandardnej kni?nice, ale ve?a ?udí stále pou?íva tento pojem na odlí?enie od ostatnych ?astí kni?nice.

V???ina kompilátorov poskytuje implementáciu ?tandardu C++ vrátane STL. Existujú aj implementácie ?tandardu nezávislé na kompilátore (napr. STLPort). Iné projekty tie? vyrábajú rozli?né zákaznícke implementácie kni?nice jazyka a STL s rozli?nymi cie?mi návrhu.

Vlastnosti, ktoré priniesol jazyk C++

[upravi? | upravi? zdroj]

V porovnaní s jazykom C, C++ priná?a nové vlastnosti, vrátane deklarácii, pretypovanie so syntaxou funkcií, new/delete, bool, referencie, inline funkcie, implicitné argumenty, pre?a?enie funkcií, priestory mien, triedy (zo v?etkymi ich ?rtami ako dedi?nos?, ?lenské funkcie, virtuálne funkcie, abstraktné triedy a kon?truktory), pre?a?enie operátorov, ?ablóna, operátor ::, o?etrenie vynimiek, RTTI.

V rozpore s populárnou domnienkou, jazyk C++ nezaviedol k?ú?ové slovo const ako prvy. Const bolo formálne pridané do jazyka C krátko predtym ako ho prevzalo C++.

C++ tie? v niektorych prípadoch poskytuje presnej?iu typovú kontrolu ako C (pozri ?Nekompatibilitu s jazykom C“ dole).

Komentáre za?ínajúce s dvomi lomkami (?//“) boli p?vodne ?as?ou BCPL (predchodca C) a boli znovuzavedené v C++.

Niektoré roz?írenia C++ boli nesk?r prevzaté jazykom C. Je to deklarácia premennej v cykle for, jednoriadkovy komentár (pou?ívajúci symbol //), direktíva inline (aj ke? definícia inline pod?a C99 nie je plne zlú?ite?ná s C++). Ale C99 tie? prichádza s novymi roz?íreniami, ktoré v C++ neexistujú, napríklad makro s premennym po?tom parametrov, alebo polia s d??kou známou a? za behu. Niektoré kompilátory m??u implementova? ?as? tychto roz?írení, ale niektoré roz?írenia neumo?ňujú kompatibilitu s C++.

Ve?mi ?astym zdrojom nedorozumenia byva terminológia. Preto?e C++ je odvodené z jazyka C, pojem objekt znamená oblas? v pam?ti (presne ako v C) a nie in?tancia triedy, ?o je vyznam vo v???ine ostatnych objektovo orientovanych jazykoch. Napríklad, v oboch jazykoch (C aj C++) deklarácia int i; definuje objekt typu int, ?i?e oblas? v pam?ti, kde bude premenná i ulo?ená.

C++ zdedilo v???inu syntaxe jazyka C a preprocesora jazyka C. Uvádzame program Hello world, ktory vyu?íva streamy zo ?tandardnej kni?nice na zápis správy na ?tandardny vystup.


#include <iostream>

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

Operátory a pre?a?enie operátorov

[upravi? | upravi? zdroj]

C++ poskytuje viac ako 30 operátorov pou?ívanych na jednoduchú aritmetiku, operácie s bitmi, operácie so smerníkmi, porovnávanie, logické operácie a ?al?ie. Takmer v?etky operátory okrem pár vynimiek (ako sú . a .*) m??u by? pre?a?ené pre u?ívate?om definované typy. Pre?a?enie operátorov je tie? sú?as?ou mnohych programovacích techník ako sú napríklad inteligentné ukazovatele. Pre?a?enie operátorov neumo?ňuje zmeni? prioritu vyhodnotenia, ani po?et operandov, ktoré operátor pou?íva (ale operand m??e by? ignorovany).

?ablóny jazyka C++ umo?ňujú genericky programova?. C++ podporuje ?ablóny funkcií aj tried. ?ablóny m??u by? parametrizované typmi, kon?tantami známymi v ?ase prekladu a inymi ?ablónami. ?ablóny sú implementované pomocou ?in?tancií“ vytváranych pri preklade. Na in?tancovanie ?ablóny kompilátor nahradí jej ?ablónové parametre konkrétnymi hodnotami, aby vygeneroval po?adovanú funkciu, alebo triedu. ?ablóny sú mocnym nástrojom, ktory sa m??e pou?i? pri generickom programovaní, alebo optimalizácii kódu, ale táto sila nie?o stojí. Pou?itie ?ablón m??e zv???i? ve?kos? kódu, preto?e ka?dá in?tancia ?ablóny vyrobí kópiu kódu ?ablóny. Pre ka?dú sadu ?ablónovych parametrov sa vytvára ?al?ia kópia kódu. Toto je rozdiel vo?i generovaniu za behu, ktory m??eme vidie? v inych jazykoch (napríklad v Jave), kde pri kompilácii sa vytvára sa len jediné telo ?ablóny. ?ablóny sa lí?ia od makier. Rovnako ako makrá sa prekladajú e?te pred spustením kódu a tie? umo?ňujú vytvori? podmieneny preklad. ?ablóny v?ak nie sú obmedzené len na nahradenie tokenov. ?ablóny poznajú sémantiku, typy ako aj definície typov a doká?u vykonáva? vysokoúrovňové operácie vrátane riadenia toku programu zalo?eného na vyhodnotení parametrov s prísnou typovou kontrolou. Makrá sú schopné podmieneného riadenia kompilácie zalo?eného na vopred známych kritériách. Nedoká?u vytvára? nové typy, rekurziu, alebo získava? hodnoty z typu a ich mo?nosti sú obmedzené na nahradenie textu po?as predsprácovania po?as kompilácie. ?ablóny sú nástrojom pre staticky polymorfizmus a generické programovanie. V skratke, ?ablóny sú pri preklade parametrizovate?né funkcie, alebo triedy napísané bez znalosti typovych argumentov pou?itych pri ich in?tancovaní. Po in?tancovaní je vysledny kód rovnaky ako kód napísany s dosadením ?ablónovych parametrov. Takto ?ablóny poskytujú sp?sob na oddelenie generickych aspektov funkcií a tried od ?pecifickych aspektov (ulo?enych v ?ablónovych parametroch) bez obetovania vykonnosti kv?li abstrakcii.

Vyhodou C++ je, ?e u? má zabudovanú podporu objektov. Objekty sú dobré na r?zne veci. Sú aj modernej?ie jazyky ktoré zvládajú prefíkanej?ie metódy ako napr. C#, ale C++ je z objektovych jazykov najefektívnej?í (samozrejme v rukách skúseného programátora).

Zabalenie funkcionality (enkapsulácia)

[upravi? | upravi? zdroj]

V C alebo asembleri treba na na?tartovanie nejakej funkcionality zavola? ve?a funkcií, napr. na inicializáciu, alokáciu pam?te a po skon?ení zas na ukon?enie a uvo?nenie pam?te. Niekedy to m??e by? dos? komplikované a nepreh?adné a dajú sa tu hlavne pod stresom robi? chyby ktoré sa potom ?a?ko h?adajú.

V C++ m??eme vyrobi? objekt, ktory toto v?etko spreh?adní a pekne ?isto zabalí, tak?e hlavne pri opakovanom pou?ití vyrazne zní?i chybovos?.

Príklad

Chceme vytvori? jednoduchú strie?a?ku s obludami ktoré poletujú po obrazovke. K tomu budeme potrebova? obludy, ?o sú vlastne sprity — tak?e obludu vyrobíme tak, ?e ju odvodíme od spritu, ?o je v príklade u? hotová trieda Sprite. Tie? potrebujeme scénu na ktorej sa to odohráva a tu vyrobíme tak, ?e ju odvodíme od okna, ?o je hotová trieda Okno.

class Obluda : public Sprite //<-- odvodime od spritu
{
public:
 Obluda(Okno* pOkno): Sprite(pOkno)
 {
 }
 ~Obluda()
 {
 }
};

class Scena : public Okno //<-- odvodime od okna
{
public:
 int pridajObludu(Obluda)
 {
 }
};

Program pre jednoduché matematické operácie

[upravi? | upravi? zdroj]
#include<iostream>    // zahrnutie prudu, ktory umo?ňuje základne
                      // vstupné a vystupné operácie
int main () {
     int a, b;        // deklarácia premennych
     int result;
     a = 7;
     b = 3;
     a = a + 1;
     result = a - b;
     std::cout << result;
     return 0;
}

Tak ako pri jazyku C, aj program v C++ musí obsahova? funkciu main, ktorá vracia celo?íselnú hodnotu.

Tento program po?íta jednoduché matematické operácie a vysledok vypí?e na ?tandardny vystup. Najsk?r sa premennej a priradí hodnota 7, premennej bsa priradí hodnota 3 a potom sa hodnota a zv???í o 1. Premennej result sa priradí hodnota rozdielu premennych a a b. Nakoniec sa vypí?e hodnota premennej result.

Vystup programu: 5

Referencie

[upravi? | upravi? zdroj]
  1. Bjarne Stroustrup's FAQ - When was C++ invented? [online]. [Cit. 2025-08-06]. Dostupné online.

Iné projekty

[upravi? | upravi? zdroj]
  • Spolupracuj na Commons Commons ponúka multimediálne súbory na tému C++
儿童过敏性鼻炎吃什么药好 手淫多了有什么坏处 3月22日什么星座 pu是什么皮 年轮是什么意思
刺身什么意思 部堂大人是什么职位 哈利波特是什么意思 乌龟喜欢吃什么 黄体破裂有什么症状
什么菜是发物不能吃 内分泌失调吃什么药好 白喉采取什么隔离 蓝柑是什么水果 含羞草为什么害羞
副乡长是什么级别 香菇和什么不能一起吃 特派员是什么级别 半什么半什么的成语 36年属什么生肖
晚八点是什么时辰hcv8jop4ns3r.cn 一月八号是什么星座hcv8jop2ns9r.cn 养殖业什么最赚钱农村hcv8jop7ns7r.cn 上火了吃什么食物降火hcv8jop7ns8r.cn 下面潮湿是什么原因引起的520myf.com
贫血三项是指什么检查0735v.com 酸汤鱼用什么鱼hcv7jop6ns3r.cn 月经推迟是什么原因hcv8jop0ns3r.cn 什么动物有四个胃hcv9jop4ns8r.cn 什么是奢侈品clwhiglsz.com
送女朋友什么礼物hcv8jop5ns7r.cn 1997年属牛的是什么命hcv8jop7ns3r.cn 脚冰冰凉是什么原因gangsutong.com 仓鼠为什么吃自己的孩子hcv7jop9ns3r.cn 右眼皮跳有什么预兆hcv8jop6ns7r.cn
赵本山什么时候去世的hcv9jop0ns1r.cn 行经是什么意思hcv8jop2ns4r.cn 种猪是什么意思hcv9jop7ns4r.cn 生吃黄瓜有什么好处chuanglingweilai.com 尿蛋白2加是什么意思jasonfriends.com
百度