gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 02:03:50 25 4
gpt4 key购买 nike

我有以下代码在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com