Step 7 (S-11484)

From Stepik Wiki
Revision as of 09:04, 21 March 2017 by Admin (Talk | contribs) (Create page for step id=11484)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/566/step/7

В качестве упражнения на частичную специализацию шаблонов классов вам предлагается реализовать простой шаблон SameType. Этот шаблон не содержит никаких методов, а только одно статическое константное поле типа bool, с именем value. Шаблон принимает два типовых параметра, и если два типовых параметра шаблона являются одним и тем же типом, то статическое поле value должно хранить значение true, в противном случае значение false. Примеры:


struct Dummy { };typedef int type;



std::cout << SameType<int, int>::value << std::endl; // выведет 1, т. е. truestd::cout << SameType<int, type>::value << std::endl; // 1, type == intstd::cout << SameType<int, int&>::value << std::endl; // 0, int и ссылка на int - различные типыstd::cout << SameType<Dummy, Dummy>::value << std::endl; // 1std::cout << SameType<int, const int>::value << std::endl; // 0, const - часть типа

Hint: задание простое, решение занимает порядка десяти строк кода.