Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++,шаблон,специализация,поиск самой большой строки в массиве указателей на char - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать динамический массив указаний для сохранения двумерного массива А в динамической памяти. http://www.cyberforum.ru/cpp-beginners/thread147302.html
Создать динамический массив указаний для сохранения двумерного массива А в динамической памяти. Составить программу для подсчета произведения элементов в двумерной таблице А размеру m*n., какие...
C++ .hpp Парни помогите мне. Я чайник( что означает расширение .hpp в модулях, которые указаны ниже. #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include... http://www.cyberforum.ru/cpp-beginners/thread147295.html
C++ Все отрицательные элементы заменить на квадраты элементов
Все отрицательные элементы заменить на квадраты этих элементов, а не отрицательные на половину суммы квадратов соседних элементов. Помогите плиз, заранее спасибо)
Вычислить количество отрицательных элементов в каждом столбце матрицы и сформировать из них новый массив C++
Помогите девушке решить индивидуальные задачи по С++ ........help me please!!!! 2. Массив матрица A(N,M). Вычислить количество отрицательных элементов в каждом столбце матрицы и сформировать из...
C++ Массивы http://www.cyberforum.ru/cpp-beginners/thread147256.html
В общем надо написать программу: Найти минимум, заменить все числа, модуль которых больше минимума нулями, подсчитать количество замен. Заранее спасибо)
C++ Вывести числа в обратном порядке и определить сумму чисел Здравствуйте, помогите пожалуста написать программу: Пользователь вводит 25 чисел с плавающей точкой. Вывести числа в обратном порядке и определить сумму чисел. подробнее

Показать сообщение отдельно
ISergey
Maniac
Эксперт С++
1407 / 918 / 57
Регистрация: 02.01.2009
Сообщений: 2,742
Записей в блоге: 1
25.06.2010, 20:14
easybudda, Это специализация шаблона.. если стандартный шаблон не подходит под некоторую реализацию то можно сделать ее специализацию под конкретный тип данных..

По большей части применяется в мета-программировании...
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
using namespace std;
 
template<typename T> class IsFundamental{
public:
    enum { Yes = 0, No = 1 };
};
 
template<> class IsFundamental<int>{
public:
    enum { Yes = 1, No = 0 };
};
 
#define MK_FUND_TYPE(T)             \
template<> class IsFundamental<T>{  \
public:                             \
    enum { Yes = 1, No = 0 };       \
}
 
MK_FUND_TYPE(double);
MK_FUND_TYPE(float);
MK_FUND_TYPE(char);
MK_FUND_TYPE(void);
MK_FUND_TYPE(bool);
//MK_FUND_TYPE(int);
//...........
 
 
class MyType{};
 
int main()
{
 
    if(IsFundamental<int>::Yes)
        std::cout << "Ok..\n";
 
    if(IsFundamental<float>::Yes)
        std::cout << "Ok..\n";
 
    if(IsFundamental<int*>::Yes)
        std::cout << "((((..\n";
 
    if(IsFundamental<MyType>::Yes)
        std::cout << "((((..\n";
 
    return 0;
}
http://codepad.org/wqRrRhtB

Доволи не плохо все это описано в книге Шаблоны C++. Справочник разработчика
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru