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

Как ограничить параметр типа шаблона только числовыми типами данных? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Синхронизация потоков, события, WinAPI http://www.cyberforum.ru/cpp-beginners/thread932466.html
Уважаемые программисты! Решается такая задача: 5 потоков генерируют псевдослучайные числа, главный поток выводит их, при нажатии "enter" все должно быть остановлено и выведена сумма всех этих чисел....
C++ Напишите программу, которая использует три определяемых пользователем функции (включая main ()) Напишите программу на C++, которая использует три определяемых пользователем функции (включая main ()) и генерирует следующий вывод: Three blind mice Three blind mice See how they run See... http://www.cyberforum.ru/cpp-beginners/thread932454.html
Чем плохой указатель на void? C++
Здравствуйте! Недавно прочитал статью на хабре http://habrahabr.ru/post/102930/ Сабж - архитектура игрового двигла, а именно менеджер состояний. В нем используется указатель на войд. Вот внизу...
C++ Получения спектра сигнала
Вообщем есть функция сигнала (допустим синус на синус с разными частотами) и теперь мне надо сделать вывод как на спектроанализаторе - что бы выдал два всплеска на этих частотах. Я понимаю что...
C++ Не срабатывает вложенные If/else http://www.cyberforum.ru/cpp-beginners/thread932422.html
Написал программу, в программе в цикле while есть большой список if/else который по величине SS суммирует определенные ячейки массива sales. Если мы вводим, например, 2000, то переменная SS...
C++ Удалить повторяющиеся элементы в отсортированнном массиве пример такого массива I={0,1,3,3,3,5,6,8,10,10} Т.е. я так понимаю, нужно сдигать все элементы при повторении влево, и записывать в инт количество таких сдвижек, что бы передать массив в буферный и... подробнее

Показать сообщение отдельно
ForEveR
В астрале
Эксперт С++
7988 / 4747 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
02.08.2013, 12:46
loou, SFINAE
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
#include <iostream>
#include <type_traits>
 
template<typename T>
typename std::enable_if<(std::is_integral<T>::value || std::is_floating_point<T>::value), void>::type
function(const T& value)
{
   std::cout << "Only for integrals and floats" << std::endl;
}
 
template<typename T>
typename std::enable_if<(!std::is_integral<T>::value && !std::is_floating_point<T>::value), void>::type
function(const T& value)
{
   std::cout << "For all others" << std::endl;
}
 
int main()
{
   function(1);
   function(1.0);
   function('c');
   function("hello");
}
http://ideone.com/5XT665

ЗЫ лучше конечно через is_arithmetic, но я про него забыл.
3
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.