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: 

Seznam běžných bezpečnostních slabin softwarových systémů

Dneska jsem narazil na server cwe.mitre.org, který obsahuje seznam běžných bezpečnostních slabin softwarových systémů. Ke každé slabině jsou uvedeny detailní informace, příklady a odkazy na podobné problémy. Určitě si pročtěte alespoň 25 nejnebezpečnějších programátorských chyb, abyste se jich mohli vyvarovat. Škoda, že se tyto věci u nás neučí ve větší míře (kromě zmínek, že takové problémy existují) - pak to dopadá tak, že se tyhle chyby pořád opakují, protože na ně nikdo studenty neupozorní a ani se jim nevěnuje dostatečná pozornost jak při tvorbě (ze strany studentů), tak při opravování projektů (ze strany opravujících)...

Stránky

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