c++ - 将类型作为函数的参数 C++

标签 c++ types dictionary mono arguments

我有以下代码在 C++ 中实现了一个简单的 Hash/Dict

哈希.h

using namespace std;

#include <string>
#include <vector>

class Hash
{
  private:
    vector<const char*> key_vector;
    vector<const char*> value_vector;
  public:
    void set_attribute(const char*, const char*);
    string get_attribute(const char*);
};

哈希.cpp

using namespace std;

#include "Hash.h"

void Hash::set_attribute(const char* key, const char* value)
{
    key_vector.push_back(key);
    value_vector.push_back(value);
}

string Hash::get_attribute(const char* key)
{
    for (int i = 0; i < key_vector.size(); i++)
    {
        if (key_vector[i] == key)
        {
            return value_vector[i];
        }
    }
}

目前,它唯一可以作为键/值的类型是 const char*,但我想扩展它以便它可以采用任何类型(显然每个类型只有一种类型哈希)。我正在考虑通过定义一个将类型作为参数的构造函数来做到这一点,但我完全不知道在这种情况下该怎么做。我将如何做到这一点,我将如何实现它以便将 set_attribute 定义为采用该类型?

编译器:Mono

最佳答案

您需要使用 templates去做这个。 Here是一个例子。

关于c++ - 将类型作为函数的参数 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11379642/

相关文章:

来自 Firebase 的 Swift 4 展开字典

java - 如何在Java中获取HashMap的前10个键值

c++ - 如何编写使用 powershell 而不是 cmd 的控制台应用程序

c++ - 如何在多个排序列表上创建迭代器?

c++ - 使用头文件编译 C++ 程序

javascript - typescript :有没有办法检查变量是否是具有嵌套属性的接口(interface)定义对象?

c - C 中的不透明(抽象)数据类型

c# - 如何从抽象类中的静态方法获取当前类型?

c# - 我应该在访问字典之前检查特定键是否存在于字典中吗?

c++ - Boost的property_map测试key是否存在?