В този план, има и други приложения, вижте. Шаблон.
Шаблони (английски шаблон.) - означава ++ езика C. генерализирана за кодиране алгоритми. без позоваване на определени параметри (например типове данни. размер буфер, стойности по подразбиране).
След това, за първи модел, пишем: за втория:
Въпреки шаблони съдържат бърза парче форма за въвеждане на кода, в действителност, тяхната употреба не намалява изпълнимия код, тъй като всеки набор от параметри, компилаторът създава отделен екземпляр на функцията или клас. В резултат на това, възможността за споделяне изчезва компилиран код в рамките на споделената библиотека.
функционални шаблони
Синтаксис описание шаблон
шаблон Най-простият пример е определянето на минимум от двете стойности. Ако е по-малко от б и след това се върнете, в противен случай - да се върне в б При липса на шаблон програмист трябва да пиша отделни функции за всеки тип данни се използват. Въпреки че много програмни езици определят с вградени минимум функция за примитивни типове (като числа и реални числа), може да са необходими тази функция за комплекс (например, "време" или "ред") и много сложна ( "играч" в онлайн играта) обекти , Ето дефиницията на шаблона на минимума от: За всеки набор от параметри, компилаторът генерира нов случай на функция. Процесът на създаване на нова инстанция на инстанция се нарича шаблон. В горния пример, компилаторът създаде един вид функция специализация две шаблон (за видове CHAR и междинно съединение) и две специалности четат шаблон (за BufferSize 20 и 30 стойности). Последното е вероятно да разточителство, тъй като за всяка възможна стойност на параметъра компилаторът ще създаде повече и повече случаи на функции, които се различават само по един-единствен постоянен. В някои случаи, компилаторът може да се въвеждат (логично определи) функцията стойността на функцията на шаблон параметър аргумент. Например, когато извикване на функция по-горе вид, евентуално зададени шаблон параметър (ако той съвпада с елементи масив тип аргумент): овъгляване в [] = "bvgda"; вид (с, strlen (в)); // нарича сортиране В случай на използване на шаблони класове с целочислени параметри също е възможно премахването на тези параметри. Например: // Използване IntegerArray шаблон обект<20> IA; PrintArray (IA); Правила екскреция въведен в езика, за да се улесни използването на шаблона и да се избегнат потенциални грешки, като например опит за използване на сортиране Ако параметърът шаблон могат да бъдат получени в няколко аргумента, резултатът трябва да бъде клирънс са еднакви за всички тези аргументи. Например, следните две процедури са погрешни: Някои грешки в описанието на модела могат да бъдат открити вече на място описания. Тези грешки не зависят от конкретни параметри. Например: Грешки, свързани с използването на специфични параметри шаблон, не могат да бъдат открити преди шаблона използва. Например, мин самата шаблон не съдържа грешки, но използването на това с типовете, за които работата "<' не определена, приведёт к ошибке: Ако въведете операция "<' до первого использования шаблона, то ошибка будет устранена. Так проявляется гибкость шаблонов в C++. минути (obj1, obj2); В един клас, който реализира свързан списък от цели числа, добавяне на нови алгоритми за елемента от списък, да търсите желаната опция не зависи от факта, че в списъка на елементи - числа. Аналогично се прилага и списък на герои, низове, дати, класове на играчи, и така нататък. За да използвате клас шаблон, трябва да се определят неговите параметри: Шаблон параметри могат да бъдат: параметрите на типа, параметрите на конвенционалните видове, настройки на шаблони. Можете да зададете стойности за параметрите на всеки вид. Ако класът на шаблон или функция трябва да използват един и същ шаблон, но с различни параметри, параметрите на шаблона използват. Например: За параметри, които са видове (например параметър функция T вид) по избор отстраняване, ако функция аргумент е един от следните видове:Пример за използване
Извеждане стойности на параметрите
Грешки в шаблони
шаблонни класове
Използване на шаблони
технически
Настройки на шаблон
Настройки на шаблони
Правила деривация аргументи на функция на шаблона
Свързани статии