Главная /
Программирование на С/С++ /
//====================== start of sample.cpp ========================== template<typename T> typename T::difference_type my_diff( T& v1, T& v2); template<typename T> T my_diff2(T& v1, T& v2); class A { public: A(int in = 5); typedef short difference_type; difference_type operator-(A&); }; int main() { A i(5); A j(10); my_diff(i,j); int x = 5; int y = 10; my_diff(x,y); return 0; } //====================== end of sample.cpp ========================== ]]>Какие проблемы может решить использование идиомы SFINAE в вышеприведённом коде?
вопросПравильный ответ:
проверка соответствия тела функции и необходимых методов класса
исключение из списка подстановки для типа А перегрузок, которые не используют тип T::difference_type
получение ошибки компиляции при отсутствии в шаблоне типа T::difference_type
избежание ошибок компиляции, которые могут случиться при перегрузке функции неподходящим шаблоном
Сложность вопроса
79
Сложность курса: Программирование на С/С++
94
Оценить вопрос
Комментарии:
Аноним
Зачёт защитил. Бегу кутить отмечать 5 за тест интуит
06 ноя 2020
Аноним
Это было сложно
07 май 2019
Аноним
Если бы не данные ответы - я бы не справился c этими тестами интуит.
04 мар 2019
Другие ответы на вопросы из темы программирование интуит.
- # Какова сложность создания копии контейнера вектор?
- # Каковы особенности умного указателя boost::shared_ptr?
- # Какие из нижеприведённых идиом являются объектно-ориентированными идиомами?
- # Какие плюсы и минусы даёт встраивание функций?
- # В какой части памяти программы из вышеприведённого файла main.c находится переменная argc?
WordPress Security by Sucuri. MiniFB Template. © Vtone