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

decltype с тернарным оператором - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ в справочной автовокзала хранится расписание движения автобусов. Для каждого рейса указаны его номер, тип автобуса, пунт назначения, время отбытия и п http://www.cyberforum.ru/cpp-beginners/thread955549.html
в справочной автовокзала хранится расписание движения автобусов. Для каждого рейса указаны его номер, тип автобуса, пунт назначения, время отбытия и прибытия. Вывести информацию о рейсы которыми можно воспользоваться для прибытия в пункт назначения раньше заданного часу.Пункт назначения и время вводятся с клавиатуры. (структуры )
C++ Отделить корни уравнения f(x)=2^x+3x-2=0 графически и построить алгоритм для уточнения одного из них комбинированным методом Отделить корни уравнения f(x)=2^x+3x-2=0 графически и построить алгоритм для уточнения одного из них комбинированным методом хорд и касательных с точностью до eps. Разработать программу, которая реализует этот алгоритм и выдает на печать значение корня и значение функции f(x) в этой точке. http://www.cyberforum.ru/cpp-beginners/thread955547.html
Какие операции доступны для целочисленных переменных и недоступны для вещественных? C++
Какие операции доступны для целочисленных переменных и недоступны для вещественных? 1.Арифметические операции (сложение, вычитание, умножение, деление) 2.Определение остатка от деления и целочисленное деление 3.Конкатенация 4.Логические операции (дизъюнкция, инверсия, конъюнкция, импликация)
C++ Есть ли книга по работе с dll?
Мелкие вызовы уже делал раньше, но хотелось бы почитать поподробнее о всех плюсах и минусах использования и примерах и прочего. Есть ли хорошая книга по этой теме? Просто не хотелось бы сейчас по статьям кусочки собирать.
C++ c++, функция для двухмерного массива http://www.cyberforum.ru/cpp-beginners/thread955514.html
написать функцию, проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с отрицательными элементами, удаленная строка заполняется 0 и переносится в конец массива.
C++ Создать класс "Студент" Помогите пожалуйста решить задачу) Создать класс «студент» с компонентными данными: фамилия, курс, оценки по четырем предметам, базовая стипендия и коэффициент надбавки к стипендии (статические данные), общая сумма стипендии. Определить компонентные функции: вывод на экран данных о студенте, перевод студента на следующий курс, вычисление общей суммы стипендии исходя из его оценок (троечникам... подробнее

Показать сообщение отдельно
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2

decltype с тернарным оператором - C++

16.09.2013, 13:48. Просмотров 420. Ответов 6
Метки (Все метки)

Почему в данном коде функция foo всегда работает нормально, а max работает только с int-ами?
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
#include <iostream>
 
template<typename T>
auto foo(T&& t) -> decltype(t)
{
   return t;
}
 
template<typename T, typename U>
auto max(T&& t, U&& u) -> decltype(t > u ? t : u)
{
   return t > u ? t : u;
}
 
int main()
{
   int x = 10;
   int y = 20;
   double z = 30.5;
 
   foo(x) = 100.2; //Ok
   foo(z) = 100.2; //Ok
 
   max(x, y) = 110.2; //Ok
   //max(x, z) = 110.2; //Error
   //max(x, 5.2) = 110.2; //Error
   max(x, 2) = 110.2; //Ok
 
   std::cout << "x = " << x << std::endl;
   std::cout << "y = " << y << std::endl;
   std::cout << "z = " << z << std::endl;
 
   return 0;
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru