Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/48: Рейтинг темы: голосов - 48, средняя оценка - 4.56
Заблокирован
1

«Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами».

09.10.2010, 00:15. Показов 8695. Ответов 2
Метки нет (Все метки)

«Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами».
Есть ли разница в этих понятиях?

Если есть, то в чём?

И где (в каких конструкциях) можно использовать шаблон с параметром-шаблоном или шаблон шаблонов?
И какую выгоду получает программист от использования «шаблонов шаблонов»/«шаблонов с параметрами-шаблонами» по сравнению с прочими средствами C++?

Я пока только знаю единственное (из стандарта на C++ ISO/IEC 14882 Second edition 2003-10-15) про такое использование шаблона с параметром шаблоном:



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
using std::cout ;
using std::cin ;
using std::endl ;
 
template < class T > class A {
    public :
    short x ;
} ;
 
// Специализация шаблона A
template < class T > class A < T* > {
    public :
    long x ;
} ;
 
// Шаблон класса с параметром-шаблоном, имеющим вариант
// со специализацией.
template < template < class U > class V > class C {
    public :
    V < int  >  y ;
    V < int* >  z ;
} ;
 
C < A > c ;
 
int main (void) {
    cout << sizeof ( c.y.x ) << endl ; // 2
    cout << sizeof ( c.z.x ) << endl ; // 4
    char c ;
    cin >> c ;
    return 0 ;
}
__________________________________________________-

Добавлено через 3 часа 9 минут
Чо молчим?
1

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.10.2010, 00:15
Ответы с готовыми решениями:

Шаблоны. Специализация шаблонов
Задача: в программном коде необходимо иметь фамилию программиста, который является автором того или...

Шаблонные параметры шаблонов и вариативные шаблоны
Привет, как узнать, что находится в Args? Мой вариант не робит почему то... #include...

Шаблоны template с ограниченными параметрами
Привет всем. У меня короткий вопрос. например есть такой код: template &lt;class T&gt; class MyVec {...

Хранить шаблоны документов в базе и выводить данные в эти шаблоны
Доброго времени суток. Интересует вопрос: мне необходимо формировать вордовские документы по...

2
Эксперт С++
1667 / 1039 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
09.10.2010, 12:44 2
Понятие "шаблон шаблонов" мне незнакомо. Шаблоны в С++ могут иметь в качестве параметра целочисленную константу времени компиляции, конкретный тип (в том числе и инстанциацию шаблона) и шаблон (у буржуев такое модно называть template template parameters). Шаблон A, принимающий в качестве параметра шаблон B, обычно делает это затем, чтобы так или иначе инстанциировать B. Например, создавая какой-то шаблон, занимающийся работой с набором данных, мы можем указывать ему, в каком контейнере он должен хранить данные: динамический массив, список или что-то другое.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
template <typename Data, template<typename T> class Container>
class MyDataProcessor {
public:
// ...
private:
    Container<Data> myData;
};
 
// Стандартные контейнеры имеют дополнительный параметр шаблона - аллокатор.
// А в MyDataProcessor нужен контейнер с одним параметром.
template<typename T> class StdVector: public std::vector<T> {};
template<typename T> class StdList: public std::list<T> {};
 
// Создадим обработчик данных на основе списка для int и на основе вектора для float
MyDataProcessor<int, StdList> intProcessor;
MyDataProcessor<float, StdVector> floatProcessor;
1
Заблокирован
17.12.2010, 01:40  [ТС] 3
Цитата Сообщение от Nick Alte Посмотреть сообщение
у буржуев такое модно называть template template parameters
Дык это и есть как раз "шаблон шаблонов"
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.12.2010, 01:40

Чем отличаются шаблоны HTML и шаблоны WordPress
В чём различие между шаблонами HTML и WordPress. Кроме того, что создаются они разными способами....

Шаблоны. Плохо понимаемые моменты из книги "Шаблоны С++. Справочник разработчика". (Вандевурд, Джосаттис)
Так как изучаю эту книгу, то в некоторых местах возникают вопросы. Чтобы не плодить много тем,...

Помогите писать на С++ через шаблоны. Консуле я писал, но надо писать исползуя шаблоны
В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1) количество элементов...

Перегрузка функции шаблонами и параметрами по умолчанию
Такая проблема, надо написать header файл и к нему исходник, в которых нужно описать 3 функции и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.