2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2
 
 Re: С++ шаблоны и операторы
Сообщение12.04.2014, 15:53 
и мои 5 копеек.
есть шаблонные функции и шаблонные классы.
шаблон, говоря простым языком, это программа для вашего компилятора (GCC, Visual Studio, Borland, etc.). Что-то вроде рецепта, по которому можно приготовить одно и то же блюдо разными способами. Поэтому, используя такую аналогию, можно сказать, что сам шаблон не занимает места в тарелке (в программе - т.е. физически не существует), а вот конкретная реализация этого шаблона из множества возможных и есть то самое конечное, готовое к употреблению, блюдо.
Чтобы понимать шаблоны достаточно понимать различие между следующими понятиями:

1. Неявная конкретизация шаблона (implicit template instantiation) - в этом случае компилятор сам генерирует код для нужного типа (типов) параметра(/-ов).
2. Явная конкретизация шаблона (explicit template instantiation) - в этом случае вы принудительно заставляете компилятор сгенерировать код для нужного вам типа параметра (даже если это явно не используется).
3. Явная специализация шаблона (explicit template specialization) - в этом случае вы сами пишите код для нужного типа данных.

Шаблоны очень мощная штука, которая нашла отличное применение в обобщенно программировании (STL, boost, etc.)

А операторы - это просто общее название небольшого набора функций (и методов) со специальным назначением.

 
 
 [ Сообщений: 16 ]  На страницу Пред.  1, 2


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group