C++模板用法

Mal*_*ker 0 c++ templates

如果我有一个如下所示的模板定义,有人可以提供一个代码示例,以便我如何使用我自己的两个类实际实例化这个实例吗?

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

谢谢.

小智 5

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

LookUpTable <std::string, int> t;
Run Code Online (Sandbox Code Playgroud)

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

LookUpTable <A, B> t;
Run Code Online (Sandbox Code Playgroud)

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

#include <map>
#include <string>

std::map <std::string, int> m; 
Run Code Online (Sandbox Code Playgroud)