Sablonok c
Ez a kifejezés más jelentéseket is tartalmaz, lásd Sablon.
Sablonok (angol sablon) a C ++ eszköz. Általános algoritmusok kódolására szolgál. bizonyos paraméterek (például adattípusok, puffer méretek, alapértelmezett értékek) megkötése nélkül.
Aztán az első modellhez írunk: a második:
Bár sablonok egy gyors darab kód beviteli forma, sőt, ezek alkalmazása nem csökkenti a végrehajtható kódot, hiszen minden sor paramétert, a fordító létrehoz egy külön példányával függvény vagy osztály. Ennek következtében eltűnik a megosztott kódok megosztásának lehetősége a megosztott könyvtárak keretében.
Függvénysablonok
Sablon leírás szintaxisa
sablon A legegyszerűbb példa a legalább két mennyiség meghatározása. Ha a kisebb, mint b, akkor térjen vissza, egyébként térjen vissza b Sablonok hiányában a programozónak meg kell adnia az egyes adattípusokhoz külön funkciókat. Bár számos programozási nyelv meghatározza az elemi típusok (pl. Egész számok és valós számok) beépített minimális funkcióját, ez a funkció komplex (pl. "Idő" vagy "string") és nagyon összetett ("online játék játék" . Tehát a minta meghatározásának funkciójának mintázata: Minden paramétercsoport esetében a fordító új függvényt generál a függvényben. Az új példány létrehozásának folyamata egy sablont instantiáló. A fenti példában, a fordító létrehozott egyfajta függvény szakirányú két sablon (a CHAR és INT típusú) és a két szakterületek olvasni sablon (a buffersize 20 és 30 értékek). Ez utóbbi valószínűleg a pazarló, mivel minden lehetséges paraméter értékét a fordító több és több esetben a funkciók, amelyek csak egyetlen állandó. Bizonyos esetekben a fordító dedikálja (logikusan meghatározza) a függvénysablon paraméter értékét a függvény argumentumából. Például, amikor a fenti rendezési funkciót hívja, nem szükséges megadni egy sablon paramétert (ha megfelel az array argumentum elemeinek típusának): char c [] = "bwda"; sort (c, strlen (c)); // call sort Az egész paraméterekkel rendelkező osztály sablonok használata esetén ezek a paraméterek is származhatnak. Például: // Az IntegerArray sablon objektum használata<20> ia; PrintArray (ia); A következtetési szabályok a nyelvben kerülnek bevezetésre a sablon használatának megkönnyítése és a lehetséges hibák elkerülése érdekében, például egyfajta rendezési kísérlet Ha a sablon paraméter több argumentumon megjeleníthető, akkor a kimenetnek pontosan ugyanazoknak kell lennie ezekre az érvekre. Például a következő hívások nem megfelelőek: A sablon leírásában szereplő hibák már a leírás helyén azonosíthatók. Ezek a hibák nem függenek bizonyos paraméterektől. Például: Az egyes sablonparaméterek használatával kapcsolatos hibákat a sablon használata előtt nem lehet észlelni. Például a min minta önmagában nem tartalmaz hibákat, hanem olyan típusokkal, amelyeknél a "<' не определена, приведёт к ошибке: Ha beírja a műveletet "<' до первого использования шаблона, то ошибка будет устранена. Так проявляется гибкость шаблонов в C++. perc (obj1, obj2); Egy olyan osztályban, amely az egész számok koherens listáját valósítja meg, az új listaelemek hozzáadásával kapcsolatos algoritmusok a kívánt elem kereséséhez nem függenek attól, hogy a listaelemek egész számok. Ugyanazokat az algoritmusokat alkalmaznák a szimbólumok, karakterláncok, dátumok, játékosok osztályai stb. Listájára. Az osztálysablon használatához meg kell adnia a paramétereit: A sablonok paraméterei lehetnek: paramétertípusok, szokásos típus paraméterek, paraméter-sablonok. Valamennyi típusú paraméter esetén meg lehet adni az alapértelmezett értékeket. Ha ugyanazt a sablont szeretné használni egy osztály vagy függvény sablonjába, de különböző paraméterekkel, akkor a sablonparamétereket használja. Például: A típusok paraméterei (például a rendezési funkció T paramétere) kimenet akkor lehetséges, ha a függvény argumentum az alábbi típusok valamelyikével rendelkezik:Példa a felhasználásra
A paraméterértékek származtatása
Sablonok hibái
Osztály sablonok
Sablonok használata
Technikai részletek
Sablonbeállítások
Sablon beállítások
Az argumentumokat függvénysablonhoz hozzárendelő szabályok
Kapcsolódó cikkek