头发沙发是什么意思| 什么是脂溢性皮炎| 为什么会得口腔溃疡| h的大写字母是什么| 绿色属于五行属什么| 牙齿根管治疗是什么意思| 胰腺炎吃什么食物| 慢慢张开你的眼睛是什么歌的歌词| puma是什么牌子| 正色是什么意思| 梦见雪地是什么征兆| 买车置换是什么意思| 梅雨季节是什么时候| 尿液黄绿色是什么原因| 什么龙| 印尼买什么比国内便宜| pci是什么意思| 免疫力和抵抗力有什么区别| 念珠菌和霉菌有什么区别| add是什么意思| 美好的近义词是什么| 老年脑改变是什么意思| 什么空如洗| 血癌是什么病| 孕妇吃核桃对胎儿有什么好处| 暴力倾向的人有什么表现| 气郁症是什么症状| 射精出血是什么原因引起的| 儿童腮腺炎吃什么药| 一阵一阵的胃疼是什么原因| 五定是什么| 二道贩子是什么意思| x线检查是什么| 吃瓜子有什么好处| 腹黑什么意思| 异质性是什么意思| 降尿酸什么药最好| 头痛是什么病的前兆| 白色五行属什么| 男人湿气重吃什么药| 现在流行什么样的衣柜| 什么人吃天麻最好| 医共体是什么意思| 颈椎反弓是什么意思| 什么是基础代谢| 眼睛干涩疼痛用什么滴眼液好| 孕妇贫血吃什么补血最快| 什么护肤品最好用| 喷字去掉口念什么| 氯是什么意思| scarves什么意思| 月经来了不走是什么原因| 什么什么美景| 白细胞高是什么原因| c14呼气试验是检查什么的| 拉肚子为什么憋不住| 渡船是什么意思| 耿耿于怀是什么意思| 薄如蝉翼是什么意思| 贵人是什么意思| 口腔上火是什么原因| 舍我其谁是什么意思| 男人地盘是什么生肖| 什么是冰丝面料| 送命题是什么意思| 什么是化石| cb什么意思| 夏天为什么会感冒| 壁虎代表什么生肖| 1980年是什么命| 肝穿刺检查是什么意思| 总钙是什么意思| 为什么肚子上会长毛| 面首是什么| 经期吃芒果有什么影响| 知了吃什么东西| 皮炎不能吃什么食物| 鲶鱼效应是什么意思| 业力是什么| 出气臭是什么原因| 狐惑病是什么病| 6月26日什么星座| 男生为什么要做包皮手术| 芙蓉花是什么花| 拉伤筋用什么药好| 点映什么意思| 糖尿病早餐吃什么好| 甲亢是一种什么病严重吗| 数字7代表什么意思| 景泰蓝是什么| 脱发严重应该去医院挂什么科| 梦见床代表什么预兆| 内蒙古简称什么| 尖锐湿疣用什么药| 单飞是什么意思| 停胎是什么原因造成的| 什么是肌张力| bi是什么意思| 外阴瘙痒用什么| 九月八号什么星座| 经常喝红茶有什么好处和坏处吗| 一代表什么意思| 梦见偷别人东西是什么意思| 壬午日五行属什么| 宜余事勿取是什么意思| 一阵什么| 不劳而获是什么生肖| 柠檬泡水喝有什么好处| 十八岁属什么生肖| 吃炒黄豆有什么好处和坏处| wm是什么牌子| 鬼怕什么东西| 怀孕吃辣对胎儿有什么影响| 海参头数是什么意思| 四季春茶属于什么茶| 麻木是什么原因引起的| 阴道发痒是什么原因| 诺帝卡是什么档次| 变应性鼻炎是什么意思| 六十而耳顺是什么意思| 女人吃桃子有什么好处和坏处| 结晶体是什么意思| 67年属什么生肖| 泌尿科属于什么科| 檀香是什么味道| 手上有湿疹是什么原因引起的| ny什么牌子| 陈皮是什么水果的皮| 梦见牙齿掉光了是什么征兆| 铁窗泪什么意思| 后背一推就出痧是什么原因| 8月份是什么星座| 副师长是什么级别| 她将是你的新娘是什么歌| 性功能下降是什么原因| 子宫肌瘤吃什么药好| 什么人不能献血| cas号是什么| 毛囊炎长什么样| 清明节有什么习俗| 胡饼是什么| 走之底的字与什么有关| 调兵遣将是什么生肖| 商品是什么| 6.22什么星座| 晚上睡觉口苦是什么原因| 全身出虚汗多是什么原因造成的| 睡着了放屁是什么原因| 陈光标做什么生意| 八大菜系之首是什么菜| 人格是什么| 黄体囊肿是什么| 酸奶什么时候喝最好| 来大姨妈拉肚子是什么原因| 什么是三观不合| 糠疹是什么引起的| 三七粉做面膜有什么功效| 夜不能寐是什么意思| 67是什么意思| 死侍是什么意思| 孩子感冒发烧吃什么药| 什么是情商| 反流性食管炎吃什么食物好| 叶仙是什么植物| 腰椎ct能查出什么| 农历5月20日是什么星座| 滑精是什么症状| 脱发用什么药最好| 扒灰什么意思| 桂林是什么地貌| 节操是什么意思| 梦见龙卷风是什么预兆| 天丝是什么成分| 你为什么背着我爱别人| 血清载脂蛋白b偏高是什么意思| 鸭子烧什么配菜好吃| 处方药是什么标志| 劣质是什么意思| 震动棒是什么| 什么样的红点是艾滋病| 卡路里什么意思| 皈依有什么好处| 鬼什么虎| 眼角膜脱落什么症状| 纯粹是什么意思| 1月3日什么星座| 经期喝什么补气血| 菊花茶泡了为什么会变绿| 吊什么意思| 是谁送你来到我身边是什么歌| primark是什么牌子| 什么是假性银屑病| 裘皮是什么皮| 怀璧其罪是什么意思| 抑郁症看什么科| 花生为什么叫落花生| 腹股沟疝气挂什么科| 女人吃知了有什么好处| 肾阴虚有什么症状表现| 8月12号是什么星座| 为什么叫985大学| 怎么是什么意思| 游离前列腺特异性抗原是什么意思| 76年属什么的生肖| 头发为什么会分叉| 长的像蛇的鱼是什么鱼| 头发打结是什么原因| otc是什么意思| 淋巴组织增生是什么意思| 秦二世为什么姓胡| 春天穿什么衣服| 血脂高能吃什么水果| 上海为什么叫魔都| 男士去皱纹用什么好| 11月1日什么星座| 60大寿送什么礼物| 六味地黄丸有什么副作用| 竹叶青是什么| 月经量多是什么原因引起的| 昧是什么意思| 六月八日是什么星座| 喝什么牌子的水最健康| 蒜薹和蒜苔有什么区别| 冠军是什么意思| 恶风是什么意思| 玄牝之门是什么意思| 黄芪泡水有什么好处| 三伏天什么时候开始| 右膝关节退行性变是什么意思| 腿毛长的男人代表什么| 三维是什么| 血糖高适合喝什么茶| 一般什么人容易得甲亢| 体悟是什么意思| 乙酰磺胺酸钾是什么| 不爱说话的人是什么性格| 尿液中有血是什么原因| 血常规是检查什么的| 转氨酶偏高是什么原因| 拔罐颜色深浅代表什么| 什么烧鸡好吃| 跑完步头疼是为什么| 唇炎是什么原因引起的| 体脂率是什么| 剑突下是什么位置| 扫把和什么是一套的| 正连级相当于地方什么级别| 缺铁性贫血吃什么水果| 马兰头是什么菜| 脚汗多是什么原因| burgundy是什么颜色| 褪黑素不能和什么一起吃| 二氧化碳高是什么原因| 狗狗吐黄水是什么原因| 不小心怀孕了吃什么药可以流掉| 梦见已故朋友什么预兆| 酱油是什么时候发明的| 害羞的近义词是什么| 薏米是什么米| 二聚体测定是什么| 诺诺是什么意思| 榛子是什么树的果实| tag什么意思| 咳嗽吃什么食物好得快| 百度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++
童心未泯是什么意思 坐久了脚肿是什么原因 逆行是什么意思 绚丽夺目的意思是什么 黄体功能不足吃什么药
吃什么补气虚最快最好 颉在姓氏里念什么 氨是什么 米西米西是什么意思 喉咙发炎吃什么食物
注会什么时候考试 白球比偏低吃什么补 csc是什么意思 打夜针是什么意思 肝经不通吃什么中成药
花生属于什么类食物 一落千丈是什么生肖 乡长是什么级别 子宫饱满是什么意思 侵犯什么意思
宝贝疙瘩是什么意思hcv8jop8ns0r.cn 头发软是什么原因cj623037.com 彩超挂什么科hcv9jop7ns4r.cn 梦见婆婆是什么意思hcv8jop0ns4r.cn 可悲可叹是什么意思hcv9jop4ns1r.cn
嘴巴旁边长痘痘是为什么hcv9jop6ns6r.cn 蛰居是什么意思hcv7jop9ns8r.cn 5201314是什么意思hcv8jop3ns8r.cn 唾液酸酶阳性是什么意思hcv8jop4ns1r.cn 百福图挂在家里什么位置好1949doufunao.com
血氧低是什么原因hcv8jop6ns6r.cn 卧推60公斤什么水平hcv8jop9ns6r.cn 夏天有什么动物hcv9jop5ns3r.cn 半什么半什么hcv9jop5ns0r.cn 鸟来家里预示什么hcv8jop2ns4r.cn
犒赏是什么意思hcv9jop0ns1r.cn 有黄痰吃什么药hcv8jop1ns2r.cn 4月25号是什么星座hcv8jop3ns5r.cn 亥时是什么时候wmyky.com 乳糖酶是什么东西hcv9jop4ns2r.cn
百度