Abstrakt: | Generické programovanie je silným nástrojom na písanie udržiavateľného a viacúčelového kódu vďaka parametrizovaniu dátových typov. Z viacúčelovosti kódu nevyplýva, že sa bude správať správne a podľa predpokladov pre všetky typy parametrov - pre správne fungovanie generického kódu je nutné klásť na parametre generického kódu požiadavky. V jazyku C++ je od 90-tych rokov generické programovanie podporované šablónami, ale písanie požiadaviek na parametrizované typy malo až donedávna rôzne nevýhody: nedostatočné vymedzenie, náročnosť písania podmienok alebo náročná diagnostika chybných výpisov kompilátora. Tieto problémy má riešiť jazykový konštrukt koncept, ktorého zavedenie v štandarde C++20 má riešiť spomenuté problémy predchádzajúcich spôsobov na vymedzovanie typov parametrov viacúčelového kódu. Práca poskytuje prehľad o aktuálnom stave konštruktu koncept: motivácia používať koncepty vo viacúčelovom kóde, ale aj potenciálne problémy s jeho využitím; spôsoby zápisu konceptu v zdrojovom kóde; diagnostika kompilačných chýb a rozbor niektorých preddefinovaných konceptov z konceptovej knižnice, ktorá je súčasťou Standard Template Library (STL) a porovnanie konceptov s doterajšími spôsobmi na vymedzovanie parametrov generického kódu. V práci taktiež ukážeme, akým spôsobom, respektíve, akých pravidiel sa držať pri písaní a používaní konceptov tak, aby spĺňali zadanie, pre ktoré boli do štandardu zavedené.
|
---|