zoukankan      html  css  js  c++  java
  • C++模板特化

    C++中的模板特化和泛化相对应,是特殊的泛化,例如设计一个模板类,传入的类型如果不加限制那么就是泛化,如果加以限制,只能传入固定的几种类型,那么就是特化。

    模板特化示例代码:

    Myhash.h文件:
    #pragma once
    #include <stddef.h>
    template<class Key>
    struct Myhash {};
    template<>
    struct Myhash<char>
    {
     size_t operator ()(char x) const { return x; }
    };
    template<>
    struct Myhash<int>
    {
     size_t operator ()(int x) const { return x; }
    };
    template<>
    struct Myhash<long>
    {
     size_t operator ()(long x) const { return x; }
    };
     
    Myhash.cpp文件:
    #include "stdafx.h"
    #include "Myhash.h"
     
     
    调用:
    cout << Myhash<char>()('a') << endl;//输出为97
    cout << Myhash<int>()(50) << endl;//输出为50
     
     
  • 相关阅读:
    混淆
    【虚拟DOM】√
    fn
    notebook
    sourceMappingURL
    十进制转换为十六进制
    关于this和super的区别
    类中访问级别
    Java中字符串解析
    IWorkspace操作
  • 原文地址:https://www.cnblogs.com/shougoule/p/13894124.html
Copyright © 2011-2022 走看看