用于在c ++中实现is_same_type类型特征的程序

Ete*_*ner 2 c++ types traits

HI有没有人可以提供一个示例程序来实现c ++中的is_same_type类型特征?

sbi*_*sbi 10

#include <iostream>

template< typename T1, typename T2 >
struct is_same_type      { enum { result = false }; };

template< typename T>
struct is_same_type<T,T> { enum { result = true }; };


int main()
{
    std::cout << is_same_type<int,float>::result << '\n'
              << is_same_type<char,char>::result << '\n';
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

  • @Neil:通常我是第一个跳过任何似乎没有正确标签就发布作业问题的人之一,但我严重怀疑除了我之外的任何人都会给他们的学生TMP问题做功课.并且,是的,没有家庭作业问题,如果人们礼貌地询问某人是否可以向他们展示某些东西,并且如果那件事情很容易让我碰巧能够在<3分钟内弥补,我通常不会犹豫让他们看.毕竟,那个(以及其他人快速指出我的错误的事实)就是我的目的. (3认同)
  • @Srinivasa:那么也许更基本的书会更好(比如*"C++模板完整指南"*) - 注意在SO上有一个C++书籍清单:http://stackoverflow.com/questions/388242/the-最终-C-书指南和列表 (2认同)
  • @Srinivasa:如果你想了解特征,Nathan Myers 的经典 http://www.cantrip.org/traits.html 可能是关于它的第一个出版物。我支持_C++模板完整指南_的推荐。它包含了解模板所需的所有基础知识。你可以从那里拿走。_Modern C++ Design_ 和_C++ Template Metaprogramming_ 都是很棒的书,但对于对模板基础知识了解不够的人来说可能有点高。 (2认同)