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.

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.

Zajímavosti z C++: Optimalizace iterování přes standardní kontejnery

Dneska se podíváme na to, jak lze různými způsoby iterovat přes standardní kontejnery a jak si stojí tyto způsoby ve vzájemném porovnání z hlediska rychlosti. Mrkneme se i na to, co s tím dokáže udělat překladač při zapnutí optimalizací.

Chyby v návrhu: když jeden dělá příliš mnoho

Vítejte v prvním díle nového seriálu na mém blogu: chyby v návrhu. Budeme se zabývat častými chybami v návrhu, kterých se dopouští (nejen) začínající programátoři. Dnes si povíme něco o situacích, kdy má třída příliš mnoho odpovědností.

Zajímavosti z C++: Čistě virtuální destruktor

Možná jste se už během své programátorské praxe dostali do situace, kdy jste potřebovali vaši bázovou třídu udělat čistě virtuální, ale žádná z metod k tomu nebyla vhodná. Jednou z možností, která je nepříliš známá, je využít destruktor. O tom, jak to udělat, je následující příspěvek.

Skákající konečné automaty

10. prosince 2012 jsem měl společně s prof. Medunou úvodní přednášku na studentské konferenci Language Theory With Applications 2012 na téma "Skákající konečné automaty". O čem tato přednáška byla, kde můžete zhlédnout (konečně zveřejněný) záznam a kde si lze stáhnout materiály se dozvíte v následujícím krátkém příspěvku.

Matematické základy teorie formálních jazyků

S kolegou Lukášem Vrábelem jsme dokončili projekt, který jsme vypracovali v rámci získaného FRVŠ grantu za rok 2012. Týkal se matematických základů teorie formálních jazyků. O výsledky bych se chtěl podělit v následujícím příspěvku.

Co je nového v C++11

Někteří již možná zaregistrovali, že v sprnu loňského roku byl schválen nový standard jazyka C++: ISO C++11. Ten byl během své přípravy znám pod názvem C++0x. O tom, co je v něm nového oproti předchozímu standardu, C++98, se dozvíte v tomto velmi dlouhém příspěvku :).

Stránky

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