Při revizi kódu se pravidelně setkávám s následující chybou, kdy dochází k uchovávání referencí na dočasné objekty. Problém se vyskytuje nejen v C++, ale i C. Já jej ovšem budu ilustrovat v C++.
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.
Začátkem letošního března jsem měl na VUT FIT v předmětu IPP zvanou tříhodinovou přednášku na téma Úvod do Pythonu. V příspěvku se dozvíte odkazy na slajdy, podpůrné materiály a záznam z přednášky.
Podíváme se na to, jak si lze v jazyce Rust jednoduše implementovat metodu na libovolném typu. Klidně i na standardním, vestavěném typu, jako je celé číslo. Něco takového bychom v jazycích jako C++, Java či Python hledali marně.
Kolega se mě nedávno ptal na mé vývojové prostředí. Tak jsem si říkal, že o tom mohu rovnou napsat na blog, kdyby to ještě někoho zajímalo :). Podíváme se na operační systém, správce oken, terminál a aplikace, které používám (programování, multimédia a další), včetně pár screenshotů a odkazů na mé konfigurační soubory.
Nedávno jsem narazil na zajímavou situaci, kdy mi překladač u C++ kódu hlásil varování, že vytvořený objekt není nikde použitý, ale přitom se na něm hned na dalším řádku volala metoda. Pojďme se společně podívat na onen kód a na to, zda měl překladač pravdu.
Každý lepší textový editor by měl poskytovat podporu pro kontrolu pravopisu. V následujícím příspěvku si ukážeme, k čemu se to hodí. Navíc si vše názorně formou obrázků ilustrujeme na mém oblíbeném editoru Vim.
Ukážeme si dva případy, kdy přítomnost kulatých závorek v C++ na první pohled působí zbytečně, ale přitom má značný vliv na význam kódu. A nebojte, nebude se jednat o uzávorkování z důvodů priority operátorů :).