Jste zde

C

Programovací jazyk C

Chyby v návrhu: nevyužívání typového systému

Dnes se v našem seriálu o chybách v návrhu podíváme na situace, při nichž bychom plnohodnotným využíváním typového systému zpřehlednili kód a učinili jej méně náchylným k chybám.

Ještě jednou a lépe: proměnná jménem flag

Dnes se podíváme na používání proměnné s nepříliš popisným názvem: flag.

Zajímavosti z C a C++: iterace for cyklem přes proměnné různých typů

Pravděpodobně víte, že u for cyklů v C (od C99) a C++ lze iterační proměnnou definovat přímo v inicializační části cyklu, tedy např. for (int i = 0; ...). Dokonce lze proměnných definovat více, např. for (int i = 0, j = 1; ...). V takovém případě ale musí mít shodný typ. Co když ale potřebujeme iterovat přes více proměnných, jejichž typ se liší?

Zajímavosti z C a C++: Unární mínus bezznaménkového čísla

Jak jistě víte, bezznaménková (angl. unsigned) čísla v C a C++ mohou nabývat hodnot od 0 do 2^sizeof(typ) - 1. Jejich hodnota tedy není nikdy záporná. Co se ale stane, když provedete unární mínus na bezznaménkovém čísle? Něco, co zřejmě neočekáváte.

Ještě jednou a lépe: explicitní porovnání s true/false

Dnes se mrkneme na podmínky, ve kterých se explicitně provádí porovnání s pravdivostní hodnotou a ukážeme si, jak je udělat čitelnější.

Chyby v návrhu: nekonzistentní rozhraní

V dnešním díle seriálu o chybách v návrhu se podíváme na nešvar, který znepříjemňuje práci uživatelům knihoven: nekonzistentní rozhraní.

Zajímavosti z C a C++: Urychlujeme překlad využitím dopředných deklarací

Minule jsme si ukázali, proč nezahrnovat implementaci do hlavičkových souborů. Dnes se podíváme na to, jak urychlit překlad použitím tzv. dopředných deklarací.

Zajímavosti z C a C++: Proč nezahrnovat implementaci do hlavičkových souborů

V příspěvku se dozvíte, proč dávat přednost umisťování implementace do .c/.cpp souborů, nikoliv do hlavičkových souborů.

Méně známé skutečnosti o C a C++: Různé formy sizeof

Možná jste se již setkali s různými zápisy použití operátoru sizeof. Konkrétně se jedná např. o zápisy sizeof(int), sizeof(*p) a sizeof *p. Jaký je mezi těmito zápisy rozdíl a kdy je nutné použít závorky se dočtete v následujícím příspěvku.

Méně známé skutečnosti o C: Funkce, které se nevrací

Se standardní funkcí exit(), která ukončí běh programu, se již asi setkal každý, kdo alespoň trochu programoval v jazyce C. Tato funkce spadá do kategorie funkcí, které se po zavolání nevracejí na místo, odkud byly volány. Méně se však ví, že kromě zmiňované funkce exit() je v jazyce C řada dalších funkcí, které vykazují podobné chování. A právě o nich bude tento příspěvek.

Stránky

Přihlásit se k odběru RSS - C