Jste zde

programování

Ještě jednou a lépe: získání prvku z kontejneru po ověření jeho existence v C++

V tomto novém seriálu vždy ukáži kód, který je v určitém ohledu nevhodný, a ukážeme si, jak jej vylepšit. Začneme se získáním prvku ze standardních kontejnerů v C++ po ověření jeho existence.

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ů.

Chyby v návrhu: porušování principu "Tell, don't ask"

V dnešním díle seriálu o chybách v návrhu se podíváme na chyby, které objektově orientovaný kód degradují na procedurální úroveň. Zaměříme se na porušování principu "Tell, don't ask", který říká, že byste měli objektům říkat, co po nich chcete, a nikoliv se jich vyptávat a pak činit rozhodnutí za ně.

Méně známé skutečnosti o C++: Aliasy na prostory jmen

O možnosti vytváření aliasů na typy pomocí konstrukce typedef ví zřejmě každý programátor v C a C++. Co je však méně známé, tak je, že v C++ si můžete vytvářet aliasy na jmenné prostory. Tento příspěvek vám ukáže, jak na to a vysvětlí, k čemu se to může hodit.

Méně známé skutečnosti o C++: try-catch blok jako tělo funkce

C++ umožňuje, abyste u těla funkce, která obsahuje pouze try-catch blok, vynechali okolní složené závorky ("{" a "}"). V tomto příspěvku se podíváme na to, jak to vypadá a k čemu je to použitelné.

Chyby v návrhu: Singleton

V minulém díle jsme se bavili o situacích, kdy má třída příliš mnoho odpovědností. V dnešním díle si ukážeme, jak velké problémy skrývá na první pohled příjemný a jednoduchý návrhový vzor Singleton a proč jej tak mnoho programátorů zneužívá v situacích, kde nemá co dělat.

Méně známé skutečnosti o C++: std::endl vs '\n'

Často se setkávám s tím, že se v C++ k ukončení řádku ve výstupu používá std::endl místo klasického '\n', které známe z Céčka. Důvod bývá různý, ale většinou je to něco ve stylu: "je to C++kovější řešení než '\n'" či "je to přenositelnější". V tomto příspěvku se dozvíte, že ani jeden důvod není pravdivý a že použití '\n' místo std::endl vám může značně urychlit běh programu.

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.

Zajímavosti z C++: Proč nedávat `using namespace xxx;` do hlavičkových souborů

Více než často vídávám, že se do hlavičkových souborů dává tzv. using direktiva ve tvaru using namespace xxx;. Nejčastější je using namespace std;. V následujícím příspěvku se dozvíte, proč je to špatný nápad a důvody, proč to nedělat.

Stránky

Přihlásit se k odběru RSS - programování