16. Шаблоны классов
16. Шаблоны классов
В этой главе описывается, как определять и использовать шаблоны классов. Шаблон - это предписание для создания класса, в котором один или несколько типов либо значений параметризованы. Начинающий программист может использовать шаблоны, не понимая механизма, стоящего за их определениями и конкретизациями. Фактически на протяжении всей этой книги мы пользовались шаблонами классов, которые определены в стандартной библиотеке C++ (например, vector, list и т.д.), и при этом не нуждались в детальном объяснении механизма их работы. Только профессиональные программисты определяют собственные шаблоны классов и пользуются описанными в данной главе средствами. Поэтому этот материал следует рассматривать как введение в более сложные аспекты C++.
Глава 16 содержит вводные и продвинутые разделы. Во вводных разделах показано, как определяются шаблоны классов, иллюстрируются простые способы применения и обсуждается механизм их конкретизации. Мы расскажем, как можно задавать в шаблонах разные виды членов: функции-члены, статические данные-члены и вложенные типы. В продвинутых разделах представлен материал, необходимый для написания приложений промышленного уровня. Сначала мы рассмотрим, как компилятор конкретизирует шаблоны и какие требования в связи с этим предъявляются к организации нашей программы. Затем покажем, как определять специализации и частичные специализации для шаблона класса и для его члена. Далее мы остановимся на двух вопросах, представляющих интерес для проектировщиков: как разрешаются имена в определениях шаблона класса и как можно определять шаблоны в пространствах имен. Завершается эта глава примером определения и использования шаблона класса.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Шаблоны
Шаблоны Делать работу, которая до этого уже была выполнена другими, – напрасная трата времени и сил. Ваши усилия, затраченные на оформление списка приглашенных на вечеринку, можно направить на другие неотложные дела, если воспользоваться подсистемой шаблонов. Созданные
Шаблоны безопасности
Шаблоны безопасности Шаблоны безопасности являются довольно интересной оснасткой, с помощью которой можно создать свой собственный шаблон безопасности или отредактировать уже существующие. Шаблоны безопасности представляют собой файлы, хранящие различные настройки
R.14.1 Шаблоны типа
R.14.1 Шаблоны типа Шаблон типа определяет целое семейство типов или функций.описание-шаблона-типа: template ‹ список-параметров-шаблона-типа › описаниесписок-параметров-шаблона-типа: параметр-шаблона-типа список-параметров-шаблона-типа ,
R.14.2 Шаблоны типов для классов
R.14.2 Шаблоны типов для классов Шаблон типа для класса определяет как будут строиться классы, подобно тому, как описание класса определяет как будут строиться объекты этого класса. Шаблон типа для класса vector можно описать следующим образом:template‹class T› class vector { T* v; int
Шаблоны
Шаблоны Программа Excel предлагает множество готовых шаблонов оформления документа. Вы можете выбрать готовый шаблон, а затем просто подставить в ячейки свои данные. С помощью шаблонов быстро подготавливают, например, такие документы, как бланки, ведомости, календари,
Шаблоны функций классов в STL
Шаблоны функций классов в STL Допустим, у вас есть два вектора объектов Widget, требуется скопировать объекты Widget из одного вектора в конец другого. Задача решается легко — достаточно воспользоваться интервальной функцией insert контейнера vector:vector<Widget>
16.8. Шаблоны классов и модель компиляции A
16.8. Шаблоны классов и модель компиляции A Определение шаблона класса - это лишь предписание для построения бесконечного множества типов классов. Сам по себе шаблон не определяет никакого класса. Например, когда компилятор видит:template class Typeclass Queue { ... };он только сохраняет
16.12. Пространства имен и шаблоны классов
16.12. Пространства имен и шаблоны классов Как и любое определение в глобальной области видимости, определение шаблона класса можно поместить внутрь пространства имен. (Пространства имен рассматривались в разделах 8.5 и 8.6.) Наш шаблон будет скрыт в данном пространстве имен;
Синтаксические шаблоны
Синтаксические шаблоны Некоторые фрагменты кода представляют синтаксические шаблоны (syntax patterns), то есть модели кода, которые демонстрируют обязательные и необязательные элементы синтаксиса операторов SQL или команд командной строки.Для синтаксических шаблонов
Шаблоны
Шаблоны Языки программирования С и Си++ обеспечивают строгую проверку типов данных. Некоторые языки не обеспечивают такой проверки и она полностью ложится на плечи программиста. Например в языке PL1 вы можете сравнивать значение строковой и числовой переменных. Это не
Шаблоны в MFC
Шаблоны в MFC В библиотеке классов MFC определен ряд шаблонов для создания таких структур хранения информации как массив, список, словарь. Более подробно об этих шаблонах вы можете прочитать в разделе “Коллекции” главы “Некоторые классы
Встроенные шаблоны
Встроенные шаблоны Для того чтобы обеспечить рекурсивную обработку документа при преобразовании, в XSLT существуют так называемые встроенные шаблоны. Несмотря на то, что они не описываются в преобразованиях явным образом, встроенные шаблоны применяются процессорами по
13.2.2. Шаблоны
13.2.2. Шаблоны Вы хотите создать стандартный документ, например резюме, служебную записку, отчет? Тогда вам пригодятся стандартные шаблоны MS Word. Выполните команду Файл, Создать. В правой части окна Word появится окошко Создание документа, в котором можно выбрать один из
Шаблоны
Шаблоны Шаблон – это своего рода набросок, который можно изменить под конкретные нужды. Очень часто вам придется писать однотипные сообщения вроде «Привет. Как дела?» или «Я сегодня занят. Когда освобожусь – перезвоню!». Вы можете облегчить себе жизнь, записав подобные
Шаблоны
Шаблоны Если вам часто приходится создавать документы одного типа, вы можете значительно повысить эффективность работы с помощью шаблонов. Шаблон – это заготовка нового документа, содержащая текст, рисунки, стили и другие элементы.Чтобы познакомиться с возможностями
Шаблоны
Шаблоны Шаблон представляет собой заготовку или бланк для часто используемых документов. Можно воспользоваться готовым шаблоном, загрузить шаблон из Интернета или использовать в качестве шаблона любую ранее сохраненную книгу.Для создания нового документа на основе