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

с хабра и мой код дают разный результат. why - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не пойму что табулировать в задании http://www.cyberforum.ru/cpp-beginners/thread1546331.html
Дано задание: Я не пойму, что нужно табулировать? Неизвестная только одна ведь, а всё уравнение равно нулю, а не другой переменной. Если буду x менять, то смысл табуляции какой тогда?
C++ Прокомментировать код, работающий с очередью и стеком Доброго времени суток. Есть код, работающий с очередью и стеком. Я не могу понять как он работает, и работает ли правильно. Код - решение вот этой задачи: система состоит из трех процессоров P1, P2, P3, очереди F, стека S и распределителя задач R. В систему поступают запросы на выполнение задач трёх типов – T1, T2 и T3, каждая для своего процессора. Поступающие запросы ставятся в... http://www.cyberforum.ru/cpp-beginners/thread1546330.html
Error LNK2001 и не только C++
Здравствуйте уважаемые форумчани!Я решая задачу с сайта:http://********/index.asp?main=task&id_task=5столкнулся с двумя вопросами: kod если ссылка не работает то вот условие:В первой строке входного файла INPUT.TXT записано единственное число N – количество элементов целочисленного массива (1<=N<=100). Вторая строка содержит N чисел, представляющих заданный массив. Каждый элемент массива –...
C++ Указание типа итератора в шаблоне
Расскажите про этот момент. #include <iostream> #include <vector> using namespace std; template <typename T, typename CONT = vector<T>> class MyClass{ CONT data; public:
C++ После изменения массив выводит точно такое же значение http://www.cyberforum.ru/cpp-beginners/thread1546286.html
Дана матрица C(n,m), где n,m≤30. Разработайте программу, умножающую положительные элементы на первый элемент соответствующей строки, а отрицательные – на последний. Вывести исходную и преобразованную матрицу. Задание вроде как простое, но вот в чем проблема я понять не могу. #include "stdafx.h" #include <iostream> using namespace std;
C++ Builder Некорректная работа трея На форме есть компонент TrayIcon у которого установлено свойство Visible в значение true. После запуска приложения и нажатия ЛКМ на иконку расположенную на панели задач, исчезает форма и иконка. Каким образом можно обработать это нажатие? подробнее

Показать сообщение отдельно
tapochka
34 / 34 / 8
Регистрация: 25.04.2014
Сообщений: 449
07.10.2015, 03:45  [ТС]     с хабра и мой код дают разный результат. why
Цитата Сообщение от Perfilov Посмотреть сообщение
hrr<T>(0) - это вызов шаблонной функции с аргументом типа 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
#include <iostream>
 
template <typename T>
struct has_typedef_foobar {
    // Types "yes" and "no" are guaranteed to have different sizes,
    // specifically sizeof(yes) == 1 and sizeof(no) == 2.
    typedef char yes[1];
    typedef char no[2];
 
    template <typename C>
    static yes& test(typename C::foobar*);
 
    template <typename>
    static no& test(...);
 
    // If the "sizeof" of the result of calling test<T>(0) would be equal to sizeof(yes),
    // the first overload worked and T has a nested type named foobar.
    static const bool value = sizeof(test<T>(0)) == sizeof(yes);
};
 
struct foo {    
    typedef float foobar;
};
 
int main() {
    std::cout << std::boolalpha;
    std::cout << has_typedef_foobar<int>::value << std::endl;
    std::cout << has_typedef_foobar<foo>::value << std::endl;
}
Добавлено через 4 минуты
самое забавное, что в своей реализации я нигде имя то функции foo и не упомянул( это уже косяк походу

Добавлено через 43 минуты
хм, сделал так и заработало:
C++
1
2
3
4
5
6
7
8
9
10
11
template<typename T>
class hasVoidFooInt {
public:
    template<typename U>
    static constexpr auto hrr(int* ptr) -> decltype(std::declval<U>().foo(1));
 
    template<typename U>
    static constexpr short hrr(...);
 
    static constexpr bool value = std::is_same<void, decltype(hrr<T>(nullptr))>::value;
};
 
Текущее время: 03:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru