Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Porty
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 4
#1

Параметры-шаблоны у шаблонных классов - C++

10.07.2015, 19:09. Просмотров 296. Ответов 3
Метки нет (Все метки)

Объясните плз, кто может, для чего используются параметры-шаблоны у шаблонных классов, и как они работают?
Читаю Прату и застрял на этом моменте.

Т.е. вот такая конструкция:
C++
1
2
3
4
5
template<template<typename T> class Thing>
class Crab
{
// ...
};
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2015, 19:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Параметры-шаблоны у шаблонных классов (C++):

Сравнение типов шаблонных классов - C++
Добрый день. Есть некоторый шаблонный класс (структура): template&lt;int m, int n&gt; struct A { }; Возьмем некоторый...

Объявление статических констант шаблонных классов - C++
Что-то я туплю - дан шаблонный класс, принимающий в качестве аргументов шаблона типы Type1 и Type2. В классе есть статическая константа...

Не получается создать объекты шаблонных классов - C++
#include &lt;iostream&gt; using namespace std; template&lt;class T&gt; class My_Class1 { private: char name; My_Class1 A; public: ...

Отделить описание шаблонных функций и классов от реализации - C++
скажите можно ли как то все таки отделить описание шабонных функций и классов от реализации? уж больно неудобно всю рализацию в h-нике...

Задания на стеки/очереди (без шаблонных классов stack, queue) - C++
Помогите, пожалуйста. Нужно добавить в очередь нечетные целые числа от -3 до 3. Все числа из очереди извлекать по одному и отрицательные...

Наследование шаблонных классов: найти причины возникновения ошибки в коде и исправить эту ошибку - C++
подскажите почему появляется такая ошибка error C2248: 'Base&lt;int,float&gt;::value1' : cannot access protected member declared in class...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
10.07.2015, 19:22 #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
struct A {};
 
template <typename T>
struct B
{
   T t = 42;
};
 
template <typename T, typename U>
struct C {};
 
template<template<typename> class Thing>
struct Crab
{
   Thing<int> th;
};
 
int main()
{
   Crab<B> c1;
   std::cout << c1.th.t << "\n";
 
   //Crab<A> c2; //error
   //Crab<C> c3; //error
}
Porty
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 4
10.07.2015, 19:28  [ТС] #3
О, спасибо.
Хороший наглядный пример. Теперь вроде понятно стало
hoggy
6545 / 2725 / 471
Регистрация: 15.11.2014
Сообщений: 6,015
Завершенные тесты: 1
10.07.2015, 20:01 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
template<class T, template<class> class Alloc_ = std::allocator >
struct Container
{
    typedef Alloc_<T>
        Allocator;
    
    typedef T
        TypeValue;
   
    ...
  
};
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2015, 20:01
Привет! Вот еще темы с ответами:

шаблоны и параметры - C++
// есть вот такой шаблон template &lt;typename T, int L&gt; struct qu{}; // компилируется вот это qu&lt;int, 13&gt; test1; // и вот это...

Шаблоны как параметры - C++
template&lt;typename T&gt; class beta { template&lt;class V&gt; class hold { V val; public: hold(V v = 0) : val(v) {} void...

Шаблоны. Нетиповые параметры - C++
Доброго времени суток. Столкнулся с проблемой. В учебнике, по которому я занимаюсь, о нетиповых параметрах написан всего 1 абзац :), зато...

Шаблоны как параметры шаблона - C++
Привет, в книге увидел такой пример template&lt;template&lt;typename T&gt; class x&gt; class y; но из объяснений в книге я совершенно...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.07.2015, 20:01
Ответ Создать тему
Опции темы

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