Zoeken |
Re: С++ шаблоны и операторы 12.04.2014, 15:53 |
|
19/03/13 31
|
и мои 5 копеек. есть шаблонные функции и шаблонные классы. шаблон, говоря простым языком, это программа для вашего компилятора (GCC, Visual Studio, Borland, etc.). Что-то вроде рецепта, по которому можно приготовить одно и то же блюдо разными способами. Поэтому, используя такую аналогию, можно сказать, что сам шаблон не занимает места в тарелке (в программе - т.е. физически не существует), а вот конкретная реализация этого шаблона из множества возможных и есть то самое конечное, готовое к употреблению, блюдо. Чтобы понимать шаблоны достаточно понимать различие между следующими понятиями:
1. Неявная конкретизация шаблона (implicit template instantiation) - в этом случае компилятор сам генерирует код для нужного типа (типов) параметра(/-ов). 2. Явная конкретизация шаблона (explicit template instantiation) - в этом случае вы принудительно заставляете компилятор сгенерировать код для нужного вам типа параметра (даже если это явно не используется). 3. Явная специализация шаблона (explicit template specialization) - в этом случае вы сами пишите код для нужного типа данных.
Шаблоны очень мощная штука, которая нашла отличное применение в обобщенно программировании (STL, boost, etc.)
А операторы - это просто общее название небольшого набора функций (и методов) со специальным назначением.
|
|
|
|
|
Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы