C++ 模板用法

标签 c++ templates

如果我有一个像下面这样的模板定义,有人可以提供一个代码示例来说明我如何用我自己的两个类实际实例化它的一个实例吗?

template <class T1, class T2>
class LookUpTable { 
public:
    LookUpTable(); 
    void set(T1 x, T2* y);
    T2* get(T1 x);
};

谢谢。

最佳答案

除非为构造函数提供定义,否则无法实例化它。除非您为其他两个函数提供定义,否则您将无法使用它。如果你确实提供了它们,你会像这样实例化它:

LookUpTable <std::string, int> t;

或者如果您有自己的 A 类和 B 类:

LookUpTable <A, B> t;

看起来这是某种 map ,在这种情况下,您也可以使用 std::map:

#include <map>
#include <string>

std::map <std::string, int> m; 

关于C++ 模板用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2801424/

相关文章:

c++ - 如何测试 stringstream operator>> 是否解析了错误的类型并跳过它

c++ - 与在构造函数中将非常量左值绑定(bind)到右值相关的错误

c++ - boost::future::那么它是如何实现的呢?

c++ - 模板运算符<未调用

c++ - 常见的 C 模式,但用 C++ 表示?

c++ - 可以通过编程方式控制进入笔记本电脑的交流电源吗?

c++ - 通过成员初始化列表初始化结构体

c++ - 从编译时 vector 中删除相邻重复项的元程序

c++ - 在基类中使用派生类的 typedef

c++ - 通用单链表的错误,C++