Dom Rozwój Co to jest szablon? - definicja z techopedia

Co to jest szablon? - definicja z techopedia

Spisu treści:

Anonim

Definicja - Co oznacza szablon?

Szablon jest funkcją programowania w C ++, która pozwala na operacje funkcji i klas na typach ogólnych, co pozwala na funkcjonowanie z różnymi typami danych bez przepisywania całych bloków kodu dla każdego typu.


Szablony są cennym narzędziem w C ++, szczególnie gdy są używane w przypadku przeciążenia operatora i wielokrotnego dziedziczenia. Szablony zmniejszają wysiłek związany z kodowaniem różnych typów danych do jednego zestawu kodu i zmniejszają wysiłek związany z debugowaniem.

Techopedia wyjaśnia szablon

C ++ udostępnia następujące dwa typy szablonów używanych do implementacji ogólnych konstrukcji, takich jak listy, kolejki, wektory i stosy:

  • Szablon klasy: przypomina zwykłą definicję klasy, ale poprzedza ją: szablon , a następnie deklaracja organu klasy, w tym dane członka i funkcje. Deklaracje i definicje funkcji członka szablonu klasy znajdują się w tym samym pliku nagłówkowym. Szablony klas C ++ najlepiej nadają się do klas kontenerów.
  • Szablon funkcji: Zaimplementowany poprzez parametry szablonu, który jest specjalnym typem parametru służącym do przekazania typu jako argumentu funkcji. Zatem funkcjonalność może być dostosowana do więcej niż jednego typu lub klasy bez powtarzania całego kodu. Format deklaracji szablonu funkcji z parametrem typu to albo szablon deklaracja_funkcji lub szablon deklaracja_funkcji. Nie ma różnicy między słowami kluczowymi class i typename.
Szablony zazwyczaj wymagają sprawdzania typu w czasie kompilacji.


Kod generowany na podstawie szablonu można przesłonić, wprowadzając specjalne definicje dla określonych typów, które są znane jako specjalizacja szablonów. Specjalna wersja funkcji dla danego zestawu argumentów szablonu jest znana jako wyraźna specjalizacja. Szablon klasy specjalizowany przez podzbiór jego parametrów jest znany jako częściowa specjalizacja szablonu. Pełna specjalizacja występuje, gdy każdy parametr jest wyspecjalizowany. Ta definicja została napisana w kontekście C ++

Co to jest szablon? - definicja z techopedia