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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ алгоритм для вычисления квадратного корня x из вещественного числа y. http://www.cyberforum.ru/cpp-beginners/thread174028.html
Составить блок-схему алгоритма для вычисления квадратного корня x из вещественного числа y. Примечание. Вычисление квадратного корня можно осуществить методом последовательного приближения с использованием зависимости (кликните по сслыке) http://www.fotohost.by/show/d3a477839a603d639eaa7019b9561d56 помогите пожалуйста написать программу... а то завтра сдавать, а я не могу понять!!!
C++ Ссылки Hi all Нельзя возвращать ссылку, если возвращаемое значение является локальной переменоой как здесь, потому что локальные переменные уничтожаются после выхода из функции Код: Fraction& Fraction::add(Fraction other) { Fraction fract; int lcd = lcm(den, other.den); int quot1 = lcd/den; int quot2 = lcd/other.den; http://www.cyberforum.ru/cpp-beginners/thread174011.html
return *char C++
если функция дожна возвращать строку... как это сделать? я написала так: char* GetString(char *filename) { FILE *f1; char str; f1=fopen(filename,"r"); if (f1!=0) fgets(str,100,f1); else printf ("File not found"); fclose(f1);
Перевод из 10 в 2 систему через маску C++
Здравствуйте! Пожалуйста помогите написать программу для перевода чисел из 10 в 2 системы счисления через маску Написать программу на языке C++, читающую со стандартного ввода 4 деся- тичных числа x, y,m, n. Все смещения будут указываться начиная с младшего бита, начиная с 0. В числах x, y младшие m из x заменить на старшие m бит из y, потом инвертировать 5 младших бит в x. Программа...
C++ Переход на классы http://www.cyberforum.ru/cpp-beginners/thread173986.html
Эмн... Вот тут возникла такая ситуация... Есть задание и код (написанный мною естессна), но его нужно переписать на классы, ибо сейчас он написал по-обычному(... Задание звучит так: При записи данных о соревнованиях по шахматам формируется матрица турнира особого вида. Результат матча может быть 1 (выигранная партия), 0 (проигранная) или 0,5 (ничья). При вводе данных нужно получить...
C++ альфа-наложение цвета есть массив пикселей, рисуется несколько графиков со сглаживанием (Графики рисуются последовательно). Нужно в местах пересечения пикселей использовать альфа-наложение, т.е. есть цвет А(0x8800FF00) и В(0x88880022) в результате наложения должны получить нечто вроде С(0xFF448811). Какой формулой связать A+B=С?? С использованием побитовых операций или мб по-другому подробнее

Показать сообщение отдельно
Nick Alte
Эксперт С++
1593 / 985 / 117
Регистрация: 27.09.2009
Сообщений: 1,901
Завершенные тесты: 1
09.10.2010, 12:44     «Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами».
Понятие "шаблон шаблонов" мне незнакомо. Шаблоны в С++ могут иметь в качестве параметра целочисленную константу времени компиляции, конкретный тип (в том числе и инстанциацию шаблона) и шаблон (у буржуев такое модно называть 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;
 
Текущее время: 16:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru