得了子宫肌瘤注意什么| 长癣是什么原因引起的| 甲状腺球蛋白抗体高是什么原因| 淫羊藿治什么病| 准妈妈是什么意思| 吃什么可以消除淋巴结| 茶歇是什么意思| 阑尾炎在什么位置| 静电对人体有什么危害| 真正的爱情是什么| 脚冰冰凉是什么原因| 扬琴属于什么乐器| 什么什么分明的成语| mmc是什么意思| 梦见种地是什么意思| 走路快的人是什么性格| 益母草煮鸡蛋有什么功效| 摩罗丹主要治什么胃病| 左肺上叶纤维灶是什么意思| 北京市副市长是什么级别| eb病毒是什么病| 落下帷幕什么意思| 化疗前要做什么检查| wedding什么意思| 胃烧灼感是什么原因| 人中龙凤下一句是什么| 洗面奶什么时候用最好| 耳仓为什么是臭的| 戴玉手镯有什么好处| 什么的图案| 为什么牙齿晚上痛白天不痛| 2003年属什么生肖| 眼压高用什么眼药水| 5月出生是什么星座| 什么仗人势| 总胆红素高说明什么| 痧是什么| 大便臭是什么原因| 无偿献血证有什么用| 10月20日什么星座| 张牙舞爪的张是什么意思| 肝外胆管扩张什么意思| 西游记什么朝代写的| 杵状指见于什么病| 定心丸什么意思| 退而求其次什么意思| 什么西瓜最好吃| 梦见月经血是什么预兆| 牛刀割鸡是什么生肖| 心慌什么感觉| 10月11日是什么星座| 官杀混杂是什么意思| 什么症状吃藿香清胃胶囊| 压脚背有什么好处| 霜降吃什么| 软组织损伤是什么意思| 感冒吃什么药最快| 七个星期五什么档次| cpf是什么意思| 户口本丢了有什么危害| 丘疹性荨麻疹用什么药| 苔菜是什么菜| 气血不足吃什么药最好| 心源性猝死是什么意思| 精索是什么| 冬虫夏草补什么| hpv73阳性是什么意思| 什么玩意儿| 备孕要注意些什么| 皮肤痒是什么原因| 单核细胞计数偏高是什么意思| 拜金是什么意思| 金庸原名叫什么| 舌头白色的是什么原因| 淋菌性尿道炎吃什么药| 锦鲤跳缸是什么原因| 什么级别可以配秘书| 什么是功能性子宫出血| 什么是m| 带银子发黑是什么原因| 衿字五行属什么| 支那人是什么意思| 后背痒痒是什么原因| 去肝火喝什么茶效果最好| 为什么一吃饭就肚子疼| 喝红酒有什么好处| 狗女配什么属相最好| 杏仁和什么不能一起吃| 什么药可以催月经来| 高风亮节是什么意思| 八月二十是什么星座| 辽源有什么好玩的地方| 维生素a中毒是什么症状| 乙肝病毒核心抗体阳性是什么意思| 曲酒是什么酒| 交警罚款不交有什么后果| 心气不足是什么意思| 天人合一是什么意思| 砖红色是什么颜色| 头发一半白一半黑是什么原因| 膀胱壁毛糙是什么意思| 欧尼是什么意思| 什么手表品牌最好| 红曲粉是什么东西| 梦见滑雪是什么意思| 青团是什么节日吃的| 马齿苋治什么病| 丝棉是什么材料| 风肖是什么生肖| k粉是什么| 医保定点是什么意思| 扁桃体发炎看什么科| 小宇宙是什么意思| 今天晚上吃什么| upc码是什么意思| bobby什么意思| 白果治什么病| 12月7日是什么星座| 24号来月经什么时候是排卵期| 减肥中午吃什么| 说什么情深似海我却不敢当| 蝙蝠飞到家里是什么预兆| 主动脉瓣退行性变是什么意思| 肚子痛看什么科| 女生是党员有什么好处| 凉皮用什么做的| 吃了榴莲不能吃什么| 梦见栽树是什么意思| 侧着睡觉有什么坏处| 6月29什么星座| 十二指肠球炎是什么病| 突然便秘是什么原因引起的| 黄瓜有什么营养价值| 甘油三酯高吃什么降得快| 仄怎么读什么意思| 右肋骨下方是什么器官| 作价是什么意思| 神经性耳鸣有什么症状| 气化是什么意思| 丑拒是什么意思| nt什么时候做| 沙棘是什么植物| 兔子吃什么| 桃李满天下是什么生肖| 脸发麻是什么病的前兆| 刚感染艾滋病什么症状| 什么什么斜斜| 化纤是什么面料| 脂肪肝适合吃什么水果| 四氯化碳什么颜色| 不忘初心方得始终是什么意思| 降火喝什么茶| 呼吸性碱中毒吃什么药| 泡泡是什么意思| 梦见着火了是什么征兆| 幽门杆菌的症状是什么| dia是什么意思| 外阴白斑用什么药最好| 白色的玉是什么玉| 保育是什么意思| 龟兔赛跑的故事告诉我们什么道理| 做孕检都检查什么项目| 鸡肉和什么相克| aupres是什么牌子化妆品| lady是什么意思啊| 总胆汁酸高是什么意思| 胃病能吃什么水果| 牙刷属于什么垃圾| 去湿气吃什么食物| 毛囊是什么样子图片| 突然高血压是什么原因引起的| 4级手术是什么意思| 生育保险是什么| 禅让制是什么意思| 是什么样的感觉我不懂是什么歌| 什么是糖皮质激素| nmd是什么的缩写| 白羊女和什么星座最配| 穷书生是什么生肖| 仁爱是什么意思| 经常腹痛什么原因| 玉皇大帝叫什么名字| 1.16是什么星座| 甘的部首是什么| 肝脏的主要功能是什么| 九月十五日是什么星座| 直肠炎是什么原因引起| 白细胞wbc偏高是什么意思| 手起倒刺吃什么维生素| 雄激素是什么| 裹粉是什么粉| 指尖发麻是什么原因| 脖子痛挂什么科| 脑干诱发电位检查是检查什么| 高足是什么意思| 过敏是什么样的图片| 卵泡期什么意思| 吃什么降糖快| 前庭功能障碍是什么病| 鹿参膏有什么作用和功效| 中医经方是什么意思| top1什么意思| 副团级是什么军衔| 喝菊花水有什么好处| 神经性头疼是什么原因造成的| 白脸代表什么| 树冠是什么| 肝占位病变是什么意思| 三观是指什么| 灰紫色是什么颜色| 心跳过速吃什么药| 地中海贫血是什么病| 泰国有什么好玩| 脚有点浮肿是什么原因| 男人吃什么食物可以补肾壮阳| 上海元宵节吃什么| 结肠炎吃什么药好| 斑秃去医院挂什么科| 痛风可以吃什么肉| 片酬是什么意思| 尘肺病用什么药最好| 兔和什么生肖最配| 什么颜色加什么颜色等于蓝色| 肾虚有什么表现| 男性看下面挂什么科室| 营卫是什么意思| 男性检查hpv挂什么科| 手脚发抖是什么原因引起的| 3朵玫瑰代表什么意思| 溺爱什么意思| 家族是什么意思| 儿童包皮过长挂什么科| 什么麻料最好| 画肖指什么生肖| 什么空调省电| 纹理是什么意思| 鱼吃什么| 什么样的人容易得结石| 心衰竭是什么病严重吗| 旅行是什么意思| 可定什么时间服用最好| 手机壳什么材质最好| 漆皮是什么皮| 精忠报国是什么意思| 尿道口流白色液体是什么病| 吃什么最补胶原蛋白| 什么是电解质| 女人喝什么补气养血| 试金石是什么意思| 如来佛祖和释迦牟尼是什么关系| 偶尔失眠是什么原因| nt是什么货币| 驰字五行属什么| 11月8日什么星座| 异国他乡的异是什么意思| 脑梗阻有什么症状| 尿酸高是什么情况| 喝黑芝麻糊有什么好处| 腹部胀气吃什么药| 时柱金舆是什么意思| 什么时候初伏第一天| 淋巴结肿大吃什么药消肿效果好| 摆谱是什么意思| 毫不犹豫的意思是什么| 百度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-05]. Dostupné online.

Iné projekty

[upravi? | upravi? zdroj]
  • Spolupracuj na Commons Commons ponúka multimediálne súbory na tému C++
孕妇吃西红柿对胎儿有什么好处 海带什么人不能吃 什么是卵巢囊肿 头发掉要用什么洗发水 什么填海
精神病挂什么科 什么是假性抑郁症 什么是沉没成本 门齿是指什么地方 瑶柱是什么东西
重庆为什么这么热 梦见自己骑马是什么意思 不想吃饭是什么原因 什么叫二婚线 桃花眼的女人什么命
羊肚菌有什么功效和作用 怀孕该吃什么补充营养 三叉戟是什么意思 男人梦见蛇是什么征兆 为什么这样对我
大油边是什么肉hcv9jop8ns3r.cn 3月15号是什么星座hcv7jop4ns7r.cn 州和洲有什么区别hcv8jop4ns7r.cn 春宵一刻值千金是什么意思hcv8jop8ns8r.cn 竹代表什么生肖travellingsim.com
黄皮是什么水果hcv8jop6ns7r.cn 十月一是什么星座hcv9jop8ns1r.cn 寸头是什么意思hcv9jop8ns1r.cn 爬山膝盖疼是什么原因hcv8jop9ns1r.cn 四大发明有什么hcv7jop6ns3r.cn
铁蛋白偏高是什么原因hcv8jop1ns3r.cn 奢华是什么意思hcv9jop1ns7r.cn 儿童肥胖挂什么科hcv8jop0ns8r.cn 三门代表什么生肖hcv9jop6ns7r.cn 梦到前女友是什么意思hcv8jop4ns9r.cn
什么叫靶向治疗hcv9jop3ns1r.cn 什么闻乐见hcv7jop6ns8r.cn 爆单是什么意思hcv9jop5ns4r.cn 反话是什么意思hcv7jop4ns7r.cn 手脚麻木吃什么药最管用hcv8jop7ns0r.cn
百度