Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ НОК 3 натур числа Помогите форумчане:) Тема:Функции Составить программу для нахождения наименьшего общего кратного трех натуральных чисел. https://www.cyberforum.ru/ cpp-beginners/ thread360898.html 6-значные счастливые числа C++
Здравствуйте, прошу помощи! Тема: Функции. Получить все 6-значные счастливые числа, т.е. те, у которых сумма первых трех цифр равна сумме последних трех
C++ Определить, сколько цифр в целом положительном числе https://www.cyberforum.ru/ cpp-beginners/ thread360891.html
нужно сделать на С. -Задано целое додатне число N. Определить, сколько в нем цифр.
C++ Программа удаляющая все комментарии из листинга программы С++ https://www.cyberforum.ru/ cpp-beginners/ thread360883.html
Помогите пожалуйста написать программу,удаляющую все комментарии из листинга программы С++.Программа должна обрабатывать файл *.cpp указываемый пользователем в начале работы. обьяснения каждой...
switch... case и #include C++
как добавить source код в case как это делается правольно #include "stdafx.h" #include "conio.h" #include "stdio.h" #include "iostream" void main() {
C++ деление на 0 https://www.cyberforum.ru/ cpp-beginners/ thread360843.html
у меня есть код задачи .. помогите пожалуйста.. надо переделать код, чтобы в 14 строчке (case '/': cout<<"4astka\t"<<b/c<<endl; break;) было условие деления на ноль... с предупреждением. Через if...
C++ Проблема с типами https://www.cyberforum.ru/ cpp-beginners/ thread360839.html
#include <cstdlib> #include <iostream> #include <fstream> using namespace std; const int cN=100; struct pirkinys { char pav;
Не могу разобраться с задачками C++
Здраствуйте все. я не могу понять как сделать эти задачки Мне надо их через массивы сделать и на языке Си Помогите пожалуйста буду очень вам благодарен.
C++ как писать в консольных программах на русском в c++ как писать в консольных программах на русском в c++ https://www.cyberforum.ru/ cpp-beginners/ thread360800.html C++ Динамический массив класса https://www.cyberforum.ru/ cpp-beginners/ thread360799.html
помогите пожалуйста,суть задачи:создать ксласс с конструктором и деструктором,в конструкторе сделать динамический масив с рандомными числами следовательно вывести их и посчитать средне...
C++ почему изменяется и первый экземпляр класса
Почему значение a.m становится равным b.m? Как сделать так, чтобы массив word можно было использовать несколько раз? #include <iostream> using namespace std; class word { public: ...
C++ Как задать звук в консоли https://www.cyberforum.ru/ cpp-beginners/ thread360765.html
Не как не могу найти функцию которая воспроизводить стандартный звук из колонок
В астрале
Эксперт С++
8048 / 4805 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
05.10.2011, 16:10 0

Обявление шаблонного класса - C++ - Ответ 2042598

05.10.2011, 16:10. Показов 905. Ответов 2
Метки (Все метки)

Ответ

norge_goth,
Реальное определение на самом деле такое.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
  template<
    typename Signature, // function type R (T1, T2, ..., TN)
    typename Combiner = last_value<typename function_traits<Signature>::result_type>,
    typename Group = int,
    typename GroupCompare = std::less<Group>,
    typename SlotFunction = function<Signature>
  >
  class signal :
    public BOOST_SIGNALS_NAMESPACE::detail::get_signal_impl<Signature,
                                                            Combiner,
                                                            Group,
                                                            GroupCompare,
                                                            SlotFunction>::type
В версии 1.42. Выше посмотреть не могу. Быть может там уже действительно Variadic,

Добавлено через 13 минут
А signalN в свою очередь это

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  // The actual signalN class
  template<
    typename R,
    BOOST_SIGNALS_TEMPLATE_PARMS
    BOOST_SIGNALS_COMMA_IF_NONZERO_ARGS
    typename Combiner = last_value<R>,
    typename Group = int,
    typename GroupCompare = std::less<Group>,
    typename SlotFunction = BOOST_SIGNALS_FUNCTION<
                              R BOOST_SIGNALS_COMMA_IF_NONZERO_ARGS
                              BOOST_SIGNALS_TEMPLATE_ARGS>
  >
  class BOOST_SIGNALS_SIGNAL :
    public BOOST_SIGNALS_NAMESPACE::detail::signal_base, // management of slot list
    public BOOST_SIGNALS_NAMESPACE::trackable // signals are trackable
Где

C++
1
2
3
4
5
6
7
8
9
10
#define BOOST_SIGNALS_NUM_ARGS 10
#define BOOST_SIGNALS_TEMPLATE_PARMS typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10
#define BOOST_SIGNALS_TEMPLATE_ARGS T1, T2, T3, T4, T5, T6, T7, T8, T9, T10
#define BOOST_SIGNALS_PARMS T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7, T8 a8, T9 a9, T10 a10
#define BOOST_SIGNALS_ARGS a1, a2, a3, a4, a5, a6, a7, a8, a9, a10
#define BOOST_SIGNALS_BOUND_ARGS args->a1, args->a2, args->a3, args->a4, args->a5, args->a6, args->a7, args->a8, args->a9, args->a10
#define BOOST_SIGNALS_ARGS_AS_MEMBERS T1 a1;T2 a2;T3 a3;T4 a4;T5 a5;T6 a6;T7 a7;T8 a8;T9 a9;T10 a10;
#define BOOST_SIGNALS_COPY_PARMS T1 ia1, T2 ia2, T3 ia3, T4 ia4, T5 ia5, T6 ia6, T7 ia7, T8 ia8, T9 ia9, T10 ia10
#define BOOST_SIGNALS_INIT_ARGS :a1(ia1), a2(ia2), a3(ia3), a4(ia4), a5(ia5), a6(ia6), a7(ia7), a8(ia8), a9(ia9), a10(ia10)
#define BOOST_SIGNALS_ARG_TYPES typedef T1 arg1_type; typedef T2 arg2_type; typedef T3 arg3_type; typedef T4 arg4_type; typedef T5 arg5_type; typedef T6 arg6_type; typedef T7 arg7_type; typedef T8 arg8_type; typedef T9 arg9_type; typedef T10 arg10_type;
В файле singal10.hpp.

И совет. Лучше разбирайся с шаблонами на более простом. А хочется поломать голову - mpl смотри или spirit. Надолго хватит.

Вернуться к обсуждению:
Обявление шаблонного класса C++
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.10.2011, 16:10
Готовые ответы и решения:

Как корректно передать в метод шаблонного класса объект шаблонного класса в качестве параметра?
header.h template &lt;class T&gt; class MyVector { public: void swap(MyVector&lt;T&gt;Vector); }...

Вызов метода у шаблонного поля, шаблонного класса
Пытаюсь разобраться с шаблонами- задача создать шаблонный класс, у которого есть шаблонное поле. и...

Инициализация шаблонного класса(В конструкторе класса после двоеточия вновь имя класса)
Всем доброго времени суток! Пытаюсь разобраться как работает приведенный мной код. Конкретно,...

Обявление экземпляра класса с конструктором по умолчанию
Знакомлюсь с ООП, сейчас с конструкторами, создал на 34 объект класса, на 35 решил вывести на экран...

2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.10.2011, 16:10
Помогаю со студенческими работами здесь

Возможно ли создание объекта шаблонного класса в функции этого класса?
Доброго времени суток, уважаемые форумчане :) Мне по лабам задали задание - реализовать шаблон...

Чем отличается шаблонный метод класса от шаблонного класса?
Чем отличается шаблонный метод класса от шаблонного класса???????ПЛИЗ!!!!Если можно немного ссылок...

Создание Шаблонного класса
Здравствуйте! Столкнулся с проблемой создания шаблона для класса. Не могу понять как ввести более...

Инстанцирование шаблонного класса
Уважаемые форумчане! Помогите в не сложном, как я полагаю, для Вас вопросе. Имеется шаблонный ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru