Méně známé skutečnosti o C++: šablony jsou Turingovsky úplné

Oproti Java Generics či C# Generics (které jsou vlastně pouze typově parametrizované třídy) jsou šablony v C++ velice mocný nástroj - o tom určitě nikdo nepochybuje. Co se ale ví už méně, tak je to, že tento prvek jazyka C++ je turingovsky úplný (Turing-complete), čili, lidově řečeno, pomocí něj lze vyjádřit libovolný výpočet.

Méně známé skutečnosti o C a C++: NULL neslouží k přenositelnosti kódu

Tentokrát bych něco rád napsal o mýtu, který říká, že makro NULL slouží pro psaní přenositelného kódu, protože ne všechny architektury musí mít "nulový ukazatel" s adresou 0, ale daná adresa může být např. 0xFFFFFFFF. Ačkoliv druhá část předchozí věty pravdivá může být, tak první část nikoliv. Na konci příspěvku ukážu, že použitím makra NULL lze dokonce přenositelnost v určitých případech zhoršit!

Zajímavé chování konstrukce try-catch-finally

U většiny vysokoúrovňových jazyků (především těch, které vychází z objektově orientovaného paradigma) se lze setkat s obsluhou chyb pomocí výjímek a jazykovou konstrukcí try-catch-finally. Jednotlivé jazyky se liší např. absencí klauzule finally (C++) či jiným pojmenováním (try-except-finally v Pythonu a begin-rescue-ensure v Ruby).

Méně známé skutečnosti o C a C++: C není jen ANSI C a C++ není jen C++98

Tímto zahajuji další "seriál" týkající se jazyků C a C++. Chtěl bych v něm upozornit na některé skutečnosti, které si ne každý uvědomuje a také některé vlastnosti těchto jazyků, které nejsou příliš známé a nebo se jejich důležitost podceňuje, což mnohdy může vést k nečekaným problémům. Objeví se zde určitě i zajímavé vlastnosti či konstrukce a využití těchto jazyků, o kterých se obecně neví, že něco takového je v těchto jazycích možné.

Zajímavé úlohy pro programátory v C a C++ #5

Tak jsem po kratší odmlce zpět a přináším další zajímavou úlohu z jazyka C++. Dnes se moc programovat nebude, ale o to víc bude třeba přemýšlet :). Ještě bych chtěl poznamenat, že úlohy budu přinášet nepravidelně podle toho, jak mě vyjde čas a zda mě něco zajímavého napadne nebo na něco narazím.

Vzhůru do letního semestru!

Já a moje neutuchající nadšení školou... No nic :). V pondělí nám na FIT začíná letní semestr, kde už konečně budeme mít v různých oborech různé předměty, a tak se chci v následujícím příspěvku mrknout, co mě čeká za předměty.

Tagy: 

Můj životní styl

Nadpis asi zní divně, ale opravdu mě nenapadlo nic lepšího, co by vyjadřovalo obsah tohoto příspvěku :). Na konci roku 2008 jsem se zmínil o tom, že bych rád napsal samostatný příspěvek na téma výživy, sportování a souvisejícíh věcech. Nuže, je to tady.

Graveworm

Na tuhle metalovou skupinu jsem narazil začátkem ledna, když jsem sháněl kapely hrající Melodic Black Metal, jako jsou např. finští Catamenia a hned jsem si je zamiloval :). Spolu se švédskými Dark Tranquility tvořili největší část toho, co jsem poslouchal přes zkouškové období.

Tagy: 

Zajímavé úlohy pro programátory v C a C++ #4

Zkouškové skončilo a já tak mohu v klidu přinést další zajímavou úlohu. Tentokrát budeme programovat pouze v C++ a cílem bude vytvořit program, který bude provádět zadanou činnost a použít při tom co nejmenší počet příkazů.

A zimní semestr je za mnou!

Poslední zkoušku jsem měl teprve ve čtvrtek a vůbec nečekal (pouze doufal, že se garant "pochlapí" a opraví jí co nejdříve, protože se jednalo jen o vyplňování formuláře), že ji opraví tak brzo, ale o to více jsem byl překvapen, když jsem včera v informačním systému viděl známky ze všech předmětů. Takže, jaký tento semestr byl? V čem se nakonec lišil od toho, co jsem očekával? Jak jsem dopadnul? Na všechny tyto otázky by měl dát odpověď tento příspěvek.

Tagy: 

Stránky

Přihlásit se k odběru Petr Zemek RSS Přihlásit se k odběru Petr Zemek - All comments